//乘法表
module code_multi(
//信息位和p1一次8个，xlm阵一次8列
i_di,
i_p1,
//192*4
i_x_0,
i_x_1,
i_x_2,
i_x_3,
i_x_4,
i_x_5,
i_x_6,
i_x_7,
//64*4
i_l_0,
i_l_1,
i_l_2,
i_l_3,
i_l_4,
i_l_5,
i_l_6,
i_l_7,
//64*4
i_m_0,
i_m_1,
i_m_2,
i_m_3,
i_m_4,
i_m_5,
i_m_6,
i_m_7,

//输出八列
//192*4
o_xs_0,
o_xs_1,
o_xs_2,
o_xs_3,
o_xs_4,
o_xs_5,
o_xs_6,
o_xs_7,
//64*4
o_ls_0,
o_ls_1,
o_ls_2,
o_ls_3,
o_ls_4,
o_ls_5,
o_ls_6,
o_ls_7,
//64*4
o_mp1_0,
o_mp1_1,
o_mp1_2,
o_mp1_3,
o_mp1_4,
o_mp1_5,
o_mp1_6,
o_mp1_7
);

//信息位和p1一次8个，xlm阵一次8列
input [31:0] i_di;
input [31:0] i_p1;
//192*4
input [767:0] i_x_0;
input [767:0] i_x_1;
input [767:0] i_x_2;
input [767:0] i_x_3;
input [767:0] i_x_4;
input [767:0] i_x_5;
input [767:0] i_x_6;
input [767:0] i_x_7;
//64*4
input [255:0] i_l_0;
input [255:0] i_l_1;
input [255:0] i_l_2;
input [255:0] i_l_3;
input [255:0] i_l_4;
input [255:0] i_l_5;
input [255:0] i_l_6;
input [255:0] i_l_7;
//64*4
input [255:0] i_m_0;
input [255:0] i_m_1;
input [255:0] i_m_2;
input [255:0] i_m_3;
input [255:0] i_m_4;
input [255:0] i_m_5;
input [255:0] i_m_6;
input [255:0] i_m_7;

//输出八列
//192*4
output [767:0] o_xs_0;
output [767:0] o_xs_1;
output [767:0] o_xs_2;
output [767:0] o_xs_3;
output [767:0] o_xs_4;
output [767:0] o_xs_5;
output [767:0] o_xs_6;
output [767:0] o_xs_7;
//64*4
output [255:0] o_ls_0;
output [255:0] o_ls_1;
output [255:0] o_ls_2;
output [255:0] o_ls_3;
output [255:0] o_ls_4;
output [255:0] o_ls_5;
output [255:0] o_ls_6;
output [255:0] o_ls_7;
//64*4
output [255:0] o_mp1_0;
output [255:0] o_mp1_1;
output [255:0] o_mp1_2;
output [255:0] o_mp1_3;
output [255:0] o_mp1_4;
output [255:0] o_mp1_5;
output [255:0] o_mp1_6;
output [255:0] o_mp1_7;

function [3:0] mul;
input [3:0] h;
input [3:0] di;
    case(h)
    4'd0  : begin
        case(di)
        4'd0  : mul = 4'd0;
        4'd1  : mul = 4'd0;
        4'd2  : mul = 4'd0;
        4'd3  : mul = 4'd0;
        4'd4  : mul = 4'd0;
        4'd5  : mul = 4'd0;
        4'd6  : mul = 4'd0;
        4'd7  : mul = 4'd0;
        4'd8  : mul = 4'd0;
        4'd9  : mul = 4'd0;
        4'd10 : mul = 4'd0;
        4'd11 : mul = 4'd0;
        4'd12 : mul = 4'd0;
        4'd13 : mul = 4'd0;
        4'd14 : mul = 4'd0;
        4'd15 : mul = 4'd0;
        endcase
    end
    4'd1  : begin
        case(di)
        4'd0  : mul = 4'd0;
        4'd1  : mul = 4'd1;
        4'd2  : mul = 4'd2;
        4'd3  : mul = 4'd3;
        4'd4  : mul = 4'd4;
        4'd5  : mul = 4'd5;
        4'd6  : mul = 4'd6;
        4'd7  : mul = 4'd7;
        4'd8  : mul = 4'd8;
        4'd9  : mul = 4'd9;
        4'd10 : mul = 4'd10;
        4'd11 : mul = 4'd11;
        4'd12 : mul = 4'd12;
        4'd13 : mul = 4'd13;
        4'd14 : mul = 4'd14;
        4'd15 : mul = 4'd15;
        endcase
    end
    4'd2  : begin
        case(di)
        4'd0  : mul = 4'd0;
        4'd1  : mul = 4'd2;
        4'd2  : mul = 4'd4;
        4'd3  : mul = 4'd6;
        4'd4  : mul = 4'd8;
        4'd5  : mul = 4'd10;
        4'd6  : mul = 4'd12;
        4'd7  : mul = 4'd14;
        4'd8  : mul = 4'd3;
        4'd9  : mul = 4'd1;
        4'd10 : mul = 4'd7;
        4'd11 : mul = 4'd5;
        4'd12 : mul = 4'd11;
        4'd13 : mul = 4'd9;
        4'd14 : mul = 4'd15;
        4'd15 : mul = 4'd13;
        endcase
    end
    4'd3  : begin
        case(di)
        4'd0  : mul = 4'd0;
        4'd1  : mul = 4'd3;
        4'd2  : mul = 4'd6;
        4'd3  : mul = 4'd5;
        4'd4  : mul = 4'd12;
        4'd5  : mul = 4'd15;
        4'd6  : mul = 4'd10;
        4'd7  : mul = 4'd9;
        4'd8  : mul = 4'd11;
        4'd9  : mul = 4'd8;
        4'd10 : mul = 4'd13;
        4'd11 : mul = 4'd14;
        4'd12 : mul = 4'd7;
        4'd13 : mul = 4'd4;
        4'd14 : mul = 4'd1;
        4'd15 : mul = 4'd2;
        endcase
    end
    4'd4  : begin
        case(di)
        4'd0  : mul = 4'd0;
        4'd1  : mul = 4'd4;
        4'd2  : mul = 4'd8;
        4'd3  : mul = 4'd12;
        4'd4  : mul = 4'd3;
        4'd5  : mul = 4'd7;
        4'd6  : mul = 4'd11;
        4'd7  : mul = 4'd15;
        4'd8  : mul = 4'd6;
        4'd9  : mul = 4'd2;
        4'd10 : mul = 4'd14;
        4'd11 : mul = 4'd10;
        4'd12 : mul = 4'd5;
        4'd13 : mul = 4'd1;
        4'd14 : mul = 4'd13;
        4'd15 : mul = 4'd9;
        endcase
    end
    4'd5  : begin
        case(di)
        4'd0  : mul = 4'd0;
        4'd1  : mul = 4'd5;
        4'd2  : mul = 4'd10;
        4'd3  : mul = 4'd15;
        4'd4  : mul = 4'd7;
        4'd5  : mul = 4'd2;
        4'd6  : mul = 4'd13;
        4'd7  : mul = 4'd8;
        4'd8  : mul = 4'd14;
        4'd9  : mul = 4'd11;
        4'd10 : mul = 4'd4;
        4'd11 : mul = 4'd1;
        4'd12 : mul = 4'd9;
        4'd13 : mul = 4'd12;
        4'd14 : mul = 4'd3;
        4'd15 : mul = 4'd6;
        endcase
    end
    4'd6  : begin
        case(di)
        4'd0  : mul = 4'd0;
        4'd1  : mul = 4'd6;
        4'd2  : mul = 4'd12;
        4'd3  : mul = 4'd10;
        4'd4  : mul = 4'd11;
        4'd5  : mul = 4'd13;
        4'd6  : mul = 4'd7;
        4'd7  : mul = 4'd1;
        4'd8  : mul = 4'd5;
        4'd9  : mul = 4'd3;
        4'd10 : mul = 4'd9;
        4'd11 : mul = 4'd15;
        4'd12 : mul = 4'd14;
        4'd13 : mul = 4'd8;
        4'd14 : mul = 4'd2;
        4'd15 : mul = 4'd4;
        endcase
    end
    4'd7  : begin
        case(di)
        4'd0  : mul = 4'd0;
        4'd1  : mul = 4'd7;
        4'd2  : mul = 4'd14;
        4'd3  : mul = 4'd9;
        4'd4  : mul = 4'd15;
        4'd5  : mul = 4'd8;
        4'd6  : mul = 4'd1;
        4'd7  : mul = 4'd6;
        4'd8  : mul = 4'd13;
        4'd9  : mul = 4'd10;
        4'd10 : mul = 4'd3;
        4'd11 : mul = 4'd4;
        4'd12 : mul = 4'd2;
        4'd13 : mul = 4'd5;
        4'd14 : mul = 4'd12;
        4'd15 : mul = 4'd11;
        endcase
    end
    4'd8  : begin
        case(di)
        4'd0  : mul = 4'd0;
        4'd1  : mul = 4'd8;
        4'd2  : mul = 4'd3;
        4'd3  : mul = 4'd11;
        4'd4  : mul = 4'd6;
        4'd5  : mul = 4'd14;
        4'd6  : mul = 4'd5;
        4'd7  : mul = 4'd13;
        4'd8  : mul = 4'd12;
        4'd9  : mul = 4'd4;
        4'd10 : mul = 4'd15;
        4'd11 : mul = 4'd7;
        4'd12 : mul = 4'd10;
        4'd13 : mul = 4'd2;
        4'd14 : mul = 4'd9;
        4'd15 : mul = 4'd1;
        endcase
    end
    4'd9  : begin
        case(di)
        4'd0  : mul = 4'd0;
        4'd1  : mul = 4'd9;
        4'd2  : mul = 4'd1;
        4'd3  : mul = 4'd8;
        4'd4  : mul = 4'd2;
        4'd5  : mul = 4'd11;
        4'd6  : mul = 4'd3;
        4'd7  : mul = 4'd10;
        4'd8  : mul = 4'd4;
        4'd9  : mul = 4'd13;
        4'd10 : mul = 4'd5;
        4'd11 : mul = 4'd12;
        4'd12 : mul = 4'd6;
        4'd13 : mul = 4'd15;
        4'd14 : mul = 4'd7;
        4'd15 : mul = 4'd14;
        endcase
    end
    4'd10 : begin
        case(di)
        4'd0  : mul = 4'd0;
        4'd1  : mul = 4'd10;
        4'd2  : mul = 4'd7;
        4'd3  : mul = 4'd13;
        4'd4  : mul = 4'd14;
        4'd5  : mul = 4'd4;
        4'd6  : mul = 4'd9;
        4'd7  : mul = 4'd3;
        4'd8  : mul = 4'd15;
        4'd9  : mul = 4'd5;
        4'd10 : mul = 4'd8;
        4'd11 : mul = 4'd2;
        4'd12 : mul = 4'd1;
        4'd13 : mul = 4'd11;
        4'd14 : mul = 4'd6;
        4'd15 : mul = 4'd12;
        endcase
    end
    4'd11 : begin
        case(di)
        4'd0  : mul = 4'd0;
        4'd1  : mul = 4'd11;
        4'd2  : mul = 4'd5;
        4'd3  : mul = 4'd14;
        4'd4  : mul = 4'd10;
        4'd5  : mul = 4'd1;
        4'd6  : mul = 4'd15;
        4'd7  : mul = 4'd4;
        4'd8  : mul = 4'd7;
        4'd9  : mul = 4'd12;
        4'd10 : mul = 4'd2;
        4'd11 : mul = 4'd9;
        4'd12 : mul = 4'd13;
        4'd13 : mul = 4'd6;
        4'd14 : mul = 4'd8;
        4'd15 : mul = 4'd3;
        endcase
    end
    4'd12 : begin
        case(di)
        4'd0  : mul = 4'd0;
        4'd1  : mul = 4'd12;
        4'd2  : mul = 4'd11;
        4'd3  : mul = 4'd7;
        4'd4  : mul = 4'd5;
        4'd5  : mul = 4'd9;
        4'd6  : mul = 4'd14;
        4'd7  : mul = 4'd2;
        4'd8  : mul = 4'd10;
        4'd9  : mul = 4'd6;
        4'd10 : mul = 4'd1;
        4'd11 : mul = 4'd13;
        4'd12 : mul = 4'd15;
        4'd13 : mul = 4'd3;
        4'd14 : mul = 4'd4;
        4'd15 : mul = 4'd8;
        endcase
    end
    4'd13 : begin
        case(di)
        4'd0  : mul = 4'd0;
        4'd1  : mul = 4'd13;
        4'd2  : mul = 4'd9;
        4'd3  : mul = 4'd4;
        4'd4  : mul = 4'd1;
        4'd5  : mul = 4'd12;
        4'd6  : mul = 4'd8;
        4'd7  : mul = 4'd5;
        4'd8  : mul = 4'd2;
        4'd9  : mul = 4'd15;
        4'd10 : mul = 4'd11;
        4'd11 : mul = 4'd6;
        4'd12 : mul = 4'd3;
        4'd13 : mul = 4'd14;
        4'd14 : mul = 4'd10;
        4'd15 : mul = 4'd7;
        endcase
    end
    4'd14 : begin
        case(di)
        4'd0  : mul = 4'd0;
        4'd1  : mul = 4'd14;
        4'd2  : mul = 4'd15;
        4'd3  : mul = 4'd1;
        4'd4  : mul = 4'd13;
        4'd5  : mul = 4'd3;
        4'd6  : mul = 4'd2;
        4'd7  : mul = 4'd12;
        4'd8  : mul = 4'd9;
        4'd9  : mul = 4'd7;
        4'd10 : mul = 4'd6;
        4'd11 : mul = 4'd8;
        4'd12 : mul = 4'd4;
        4'd13 : mul = 4'd10;
        4'd14 : mul = 4'd11;
        4'd15 : mul = 4'd5;
        endcase
    end
    4'd15 : begin
        case(di)
        4'd0  : mul = 4'd0;
        4'd1  : mul = 4'd15;
        4'd2  : mul = 4'd13;
        4'd3  : mul = 4'd2;
        4'd4  : mul = 4'd9;
        4'd5  : mul = 4'd6;
        4'd6  : mul = 4'd4;
        4'd7  : mul = 4'd11;
        4'd8  : mul = 4'd1;
        4'd9  : mul = 4'd14;
        4'd10 : mul = 4'd12;
        4'd11 : mul = 4'd3;
        4'd12 : mul = 4'd8;
        4'd13 : mul = 4'd7;
        4'd14 : mul = 4'd5;
        4'd15 : mul = 4'd10;
        endcase
    end
    endcase
endfunction

assign o_xs_0 = {
    mul(i_x_0[767:764],i_di[31:28]),
    mul(i_x_0[763:760],i_di[31:28]),
    mul(i_x_0[759:756],i_di[31:28]),
    mul(i_x_0[755:752],i_di[31:28]),
    mul(i_x_0[751:748],i_di[31:28]),
    mul(i_x_0[747:744],i_di[31:28]),
    mul(i_x_0[743:740],i_di[31:28]),
    mul(i_x_0[739:736],i_di[31:28]),
    mul(i_x_0[735:732],i_di[31:28]),
    mul(i_x_0[731:728],i_di[31:28]),
    mul(i_x_0[727:724],i_di[31:28]),
    mul(i_x_0[723:720],i_di[31:28]),
    mul(i_x_0[719:716],i_di[31:28]),
    mul(i_x_0[715:712],i_di[31:28]),
    mul(i_x_0[711:708],i_di[31:28]),
    mul(i_x_0[707:704],i_di[31:28]),
    mul(i_x_0[703:700],i_di[31:28]),
    mul(i_x_0[699:696],i_di[31:28]),
    mul(i_x_0[695:692],i_di[31:28]),
    mul(i_x_0[691:688],i_di[31:28]),
    mul(i_x_0[687:684],i_di[31:28]),
    mul(i_x_0[683:680],i_di[31:28]),
    mul(i_x_0[679:676],i_di[31:28]),
    mul(i_x_0[675:672],i_di[31:28]),
    mul(i_x_0[671:668],i_di[31:28]),
    mul(i_x_0[667:664],i_di[31:28]),
    mul(i_x_0[663:660],i_di[31:28]),
    mul(i_x_0[659:656],i_di[31:28]),
    mul(i_x_0[655:652],i_di[31:28]),
    mul(i_x_0[651:648],i_di[31:28]),
    mul(i_x_0[647:644],i_di[31:28]),
    mul(i_x_0[643:640],i_di[31:28]),
    mul(i_x_0[639:636],i_di[31:28]),
    mul(i_x_0[635:632],i_di[31:28]),
    mul(i_x_0[631:628],i_di[31:28]),
    mul(i_x_0[627:624],i_di[31:28]),
    mul(i_x_0[623:620],i_di[31:28]),
    mul(i_x_0[619:616],i_di[31:28]),
    mul(i_x_0[615:612],i_di[31:28]),
    mul(i_x_0[611:608],i_di[31:28]),
    mul(i_x_0[607:604],i_di[31:28]),
    mul(i_x_0[603:600],i_di[31:28]),
    mul(i_x_0[599:596],i_di[31:28]),
    mul(i_x_0[595:592],i_di[31:28]),
    mul(i_x_0[591:588],i_di[31:28]),
    mul(i_x_0[587:584],i_di[31:28]),
    mul(i_x_0[583:580],i_di[31:28]),
    mul(i_x_0[579:576],i_di[31:28]),
    mul(i_x_0[575:572],i_di[31:28]),
    mul(i_x_0[571:568],i_di[31:28]),
    mul(i_x_0[567:564],i_di[31:28]),
    mul(i_x_0[563:560],i_di[31:28]),
    mul(i_x_0[559:556],i_di[31:28]),
    mul(i_x_0[555:552],i_di[31:28]),
    mul(i_x_0[551:548],i_di[31:28]),
    mul(i_x_0[547:544],i_di[31:28]),
    mul(i_x_0[543:540],i_di[31:28]),
    mul(i_x_0[539:536],i_di[31:28]),
    mul(i_x_0[535:532],i_di[31:28]),
    mul(i_x_0[531:528],i_di[31:28]),
    mul(i_x_0[527:524],i_di[31:28]),
    mul(i_x_0[523:520],i_di[31:28]),
    mul(i_x_0[519:516],i_di[31:28]),
    mul(i_x_0[515:512],i_di[31:28]),
    mul(i_x_0[511:508],i_di[31:28]),
    mul(i_x_0[507:504],i_di[31:28]),
    mul(i_x_0[503:500],i_di[31:28]),
    mul(i_x_0[499:496],i_di[31:28]),
    mul(i_x_0[495:492],i_di[31:28]),
    mul(i_x_0[491:488],i_di[31:28]),
    mul(i_x_0[487:484],i_di[31:28]),
    mul(i_x_0[483:480],i_di[31:28]),
    mul(i_x_0[479:476],i_di[31:28]),
    mul(i_x_0[475:472],i_di[31:28]),
    mul(i_x_0[471:468],i_di[31:28]),
    mul(i_x_0[467:464],i_di[31:28]),
    mul(i_x_0[463:460],i_di[31:28]),
    mul(i_x_0[459:456],i_di[31:28]),
    mul(i_x_0[455:452],i_di[31:28]),
    mul(i_x_0[451:448],i_di[31:28]),
    mul(i_x_0[447:444],i_di[31:28]),
    mul(i_x_0[443:440],i_di[31:28]),
    mul(i_x_0[439:436],i_di[31:28]),
    mul(i_x_0[435:432],i_di[31:28]),
    mul(i_x_0[431:428],i_di[31:28]),
    mul(i_x_0[427:424],i_di[31:28]),
    mul(i_x_0[423:420],i_di[31:28]),
    mul(i_x_0[419:416],i_di[31:28]),
    mul(i_x_0[415:412],i_di[31:28]),
    mul(i_x_0[411:408],i_di[31:28]),
    mul(i_x_0[407:404],i_di[31:28]),
    mul(i_x_0[403:400],i_di[31:28]),
    mul(i_x_0[399:396],i_di[31:28]),
    mul(i_x_0[395:392],i_di[31:28]),
    mul(i_x_0[391:388],i_di[31:28]),
    mul(i_x_0[387:384],i_di[31:28]),
    mul(i_x_0[383:380],i_di[31:28]),
    mul(i_x_0[379:376],i_di[31:28]),
    mul(i_x_0[375:372],i_di[31:28]),
    mul(i_x_0[371:368],i_di[31:28]),
    mul(i_x_0[367:364],i_di[31:28]),
    mul(i_x_0[363:360],i_di[31:28]),
    mul(i_x_0[359:356],i_di[31:28]),
    mul(i_x_0[355:352],i_di[31:28]),
    mul(i_x_0[351:348],i_di[31:28]),
    mul(i_x_0[347:344],i_di[31:28]),
    mul(i_x_0[343:340],i_di[31:28]),
    mul(i_x_0[339:336],i_di[31:28]),
    mul(i_x_0[335:332],i_di[31:28]),
    mul(i_x_0[331:328],i_di[31:28]),
    mul(i_x_0[327:324],i_di[31:28]),
    mul(i_x_0[323:320],i_di[31:28]),
    mul(i_x_0[319:316],i_di[31:28]),
    mul(i_x_0[315:312],i_di[31:28]),
    mul(i_x_0[311:308],i_di[31:28]),
    mul(i_x_0[307:304],i_di[31:28]),
    mul(i_x_0[303:300],i_di[31:28]),
    mul(i_x_0[299:296],i_di[31:28]),
    mul(i_x_0[295:292],i_di[31:28]),
    mul(i_x_0[291:288],i_di[31:28]),
    mul(i_x_0[287:284],i_di[31:28]),
    mul(i_x_0[283:280],i_di[31:28]),
    mul(i_x_0[279:276],i_di[31:28]),
    mul(i_x_0[275:272],i_di[31:28]),
    mul(i_x_0[271:268],i_di[31:28]),
    mul(i_x_0[267:264],i_di[31:28]),
    mul(i_x_0[263:260],i_di[31:28]),
    mul(i_x_0[259:256],i_di[31:28]),
    mul(i_x_0[255:252],i_di[31:28]),
    mul(i_x_0[251:248],i_di[31:28]),
    mul(i_x_0[247:244],i_di[31:28]),
    mul(i_x_0[243:240],i_di[31:28]),
    mul(i_x_0[239:236],i_di[31:28]),
    mul(i_x_0[235:232],i_di[31:28]),
    mul(i_x_0[231:228],i_di[31:28]),
    mul(i_x_0[227:224],i_di[31:28]),
    mul(i_x_0[223:220],i_di[31:28]),
    mul(i_x_0[219:216],i_di[31:28]),
    mul(i_x_0[215:212],i_di[31:28]),
    mul(i_x_0[211:208],i_di[31:28]),
    mul(i_x_0[207:204],i_di[31:28]),
    mul(i_x_0[203:200],i_di[31:28]),
    mul(i_x_0[199:196],i_di[31:28]),
    mul(i_x_0[195:192],i_di[31:28]),
    mul(i_x_0[191:188],i_di[31:28]),
    mul(i_x_0[187:184],i_di[31:28]),
    mul(i_x_0[183:180],i_di[31:28]),
    mul(i_x_0[179:176],i_di[31:28]),
    mul(i_x_0[175:172],i_di[31:28]),
    mul(i_x_0[171:168],i_di[31:28]),
    mul(i_x_0[167:164],i_di[31:28]),
    mul(i_x_0[163:160],i_di[31:28]),
    mul(i_x_0[159:156],i_di[31:28]),
    mul(i_x_0[155:152],i_di[31:28]),
    mul(i_x_0[151:148],i_di[31:28]),
    mul(i_x_0[147:144],i_di[31:28]),
    mul(i_x_0[143:140],i_di[31:28]),
    mul(i_x_0[139:136],i_di[31:28]),
    mul(i_x_0[135:132],i_di[31:28]),
    mul(i_x_0[131:128],i_di[31:28]),
    mul(i_x_0[127:124],i_di[31:28]),
    mul(i_x_0[123:120],i_di[31:28]),
    mul(i_x_0[119:116],i_di[31:28]),
    mul(i_x_0[115:112],i_di[31:28]),
    mul(i_x_0[111:108],i_di[31:28]),
    mul(i_x_0[107:104],i_di[31:28]),
    mul(i_x_0[103:100],i_di[31:28]),
    mul(i_x_0[99:96]  ,i_di[31:28]),
    mul(i_x_0[95:92]  ,i_di[31:28]),
    mul(i_x_0[91:88]  ,i_di[31:28]),
    mul(i_x_0[87:84]  ,i_di[31:28]),
    mul(i_x_0[83:80]  ,i_di[31:28]),
    mul(i_x_0[79:76]  ,i_di[31:28]),
    mul(i_x_0[75:72]  ,i_di[31:28]),
    mul(i_x_0[71:68]  ,i_di[31:28]),
    mul(i_x_0[67:64]  ,i_di[31:28]),
    mul(i_x_0[63:60]  ,i_di[31:28]),
    mul(i_x_0[59:56]  ,i_di[31:28]),
    mul(i_x_0[55:52]  ,i_di[31:28]),
    mul(i_x_0[51:48]  ,i_di[31:28]),
    mul(i_x_0[47:44]  ,i_di[31:28]),
    mul(i_x_0[43:40]  ,i_di[31:28]),
    mul(i_x_0[39:36]  ,i_di[31:28]),
    mul(i_x_0[35:32]  ,i_di[31:28]),
    mul(i_x_0[31:28]  ,i_di[31:28]),
    mul(i_x_0[27:24]  ,i_di[31:28]),
    mul(i_x_0[23:20]  ,i_di[31:28]),
    mul(i_x_0[19:16]  ,i_di[31:28]),
    mul(i_x_0[15:12]  ,i_di[31:28]),
    mul(i_x_0[11:8]   ,i_di[31:28]),
    mul(i_x_0[7:4]    ,i_di[31:28]),
    mul(i_x_0[3:0]    ,i_di[31:28])
};
assign o_xs_1 = {
    mul(i_x_1[767:764],i_di[27:24]),
    mul(i_x_1[763:760],i_di[27:24]),
    mul(i_x_1[759:756],i_di[27:24]),
    mul(i_x_1[755:752],i_di[27:24]),
    mul(i_x_1[751:748],i_di[27:24]),
    mul(i_x_1[747:744],i_di[27:24]),
    mul(i_x_1[743:740],i_di[27:24]),
    mul(i_x_1[739:736],i_di[27:24]),
    mul(i_x_1[735:732],i_di[27:24]),
    mul(i_x_1[731:728],i_di[27:24]),
    mul(i_x_1[727:724],i_di[27:24]),
    mul(i_x_1[723:720],i_di[27:24]),
    mul(i_x_1[719:716],i_di[27:24]),
    mul(i_x_1[715:712],i_di[27:24]),
    mul(i_x_1[711:708],i_di[27:24]),
    mul(i_x_1[707:704],i_di[27:24]),
    mul(i_x_1[703:700],i_di[27:24]),
    mul(i_x_1[699:696],i_di[27:24]),
    mul(i_x_1[695:692],i_di[27:24]),
    mul(i_x_1[691:688],i_di[27:24]),
    mul(i_x_1[687:684],i_di[27:24]),
    mul(i_x_1[683:680],i_di[27:24]),
    mul(i_x_1[679:676],i_di[27:24]),
    mul(i_x_1[675:672],i_di[27:24]),
    mul(i_x_1[671:668],i_di[27:24]),
    mul(i_x_1[667:664],i_di[27:24]),
    mul(i_x_1[663:660],i_di[27:24]),
    mul(i_x_1[659:656],i_di[27:24]),
    mul(i_x_1[655:652],i_di[27:24]),
    mul(i_x_1[651:648],i_di[27:24]),
    mul(i_x_1[647:644],i_di[27:24]),
    mul(i_x_1[643:640],i_di[27:24]),
    mul(i_x_1[639:636],i_di[27:24]),
    mul(i_x_1[635:632],i_di[27:24]),
    mul(i_x_1[631:628],i_di[27:24]),
    mul(i_x_1[627:624],i_di[27:24]),
    mul(i_x_1[623:620],i_di[27:24]),
    mul(i_x_1[619:616],i_di[27:24]),
    mul(i_x_1[615:612],i_di[27:24]),
    mul(i_x_1[611:608],i_di[27:24]),
    mul(i_x_1[607:604],i_di[27:24]),
    mul(i_x_1[603:600],i_di[27:24]),
    mul(i_x_1[599:596],i_di[27:24]),
    mul(i_x_1[595:592],i_di[27:24]),
    mul(i_x_1[591:588],i_di[27:24]),
    mul(i_x_1[587:584],i_di[27:24]),
    mul(i_x_1[583:580],i_di[27:24]),
    mul(i_x_1[579:576],i_di[27:24]),
    mul(i_x_1[575:572],i_di[27:24]),
    mul(i_x_1[571:568],i_di[27:24]),
    mul(i_x_1[567:564],i_di[27:24]),
    mul(i_x_1[563:560],i_di[27:24]),
    mul(i_x_1[559:556],i_di[27:24]),
    mul(i_x_1[555:552],i_di[27:24]),
    mul(i_x_1[551:548],i_di[27:24]),
    mul(i_x_1[547:544],i_di[27:24]),
    mul(i_x_1[543:540],i_di[27:24]),
    mul(i_x_1[539:536],i_di[27:24]),
    mul(i_x_1[535:532],i_di[27:24]),
    mul(i_x_1[531:528],i_di[27:24]),
    mul(i_x_1[527:524],i_di[27:24]),
    mul(i_x_1[523:520],i_di[27:24]),
    mul(i_x_1[519:516],i_di[27:24]),
    mul(i_x_1[515:512],i_di[27:24]),
    mul(i_x_1[511:508],i_di[27:24]),
    mul(i_x_1[507:504],i_di[27:24]),
    mul(i_x_1[503:500],i_di[27:24]),
    mul(i_x_1[499:496],i_di[27:24]),
    mul(i_x_1[495:492],i_di[27:24]),
    mul(i_x_1[491:488],i_di[27:24]),
    mul(i_x_1[487:484],i_di[27:24]),
    mul(i_x_1[483:480],i_di[27:24]),
    mul(i_x_1[479:476],i_di[27:24]),
    mul(i_x_1[475:472],i_di[27:24]),
    mul(i_x_1[471:468],i_di[27:24]),
    mul(i_x_1[467:464],i_di[27:24]),
    mul(i_x_1[463:460],i_di[27:24]),
    mul(i_x_1[459:456],i_di[27:24]),
    mul(i_x_1[455:452],i_di[27:24]),
    mul(i_x_1[451:448],i_di[27:24]),
    mul(i_x_1[447:444],i_di[27:24]),
    mul(i_x_1[443:440],i_di[27:24]),
    mul(i_x_1[439:436],i_di[27:24]),
    mul(i_x_1[435:432],i_di[27:24]),
    mul(i_x_1[431:428],i_di[27:24]),
    mul(i_x_1[427:424],i_di[27:24]),
    mul(i_x_1[423:420],i_di[27:24]),
    mul(i_x_1[419:416],i_di[27:24]),
    mul(i_x_1[415:412],i_di[27:24]),
    mul(i_x_1[411:408],i_di[27:24]),
    mul(i_x_1[407:404],i_di[27:24]),
    mul(i_x_1[403:400],i_di[27:24]),
    mul(i_x_1[399:396],i_di[27:24]),
    mul(i_x_1[395:392],i_di[27:24]),
    mul(i_x_1[391:388],i_di[27:24]),
    mul(i_x_1[387:384],i_di[27:24]),
    mul(i_x_1[383:380],i_di[27:24]),
    mul(i_x_1[379:376],i_di[27:24]),
    mul(i_x_1[375:372],i_di[27:24]),
    mul(i_x_1[371:368],i_di[27:24]),
    mul(i_x_1[367:364],i_di[27:24]),
    mul(i_x_1[363:360],i_di[27:24]),
    mul(i_x_1[359:356],i_di[27:24]),
    mul(i_x_1[355:352],i_di[27:24]),
    mul(i_x_1[351:348],i_di[27:24]),
    mul(i_x_1[347:344],i_di[27:24]),
    mul(i_x_1[343:340],i_di[27:24]),
    mul(i_x_1[339:336],i_di[27:24]),
    mul(i_x_1[335:332],i_di[27:24]),
    mul(i_x_1[331:328],i_di[27:24]),
    mul(i_x_1[327:324],i_di[27:24]),
    mul(i_x_1[323:320],i_di[27:24]),
    mul(i_x_1[319:316],i_di[27:24]),
    mul(i_x_1[315:312],i_di[27:24]),
    mul(i_x_1[311:308],i_di[27:24]),
    mul(i_x_1[307:304],i_di[27:24]),
    mul(i_x_1[303:300],i_di[27:24]),
    mul(i_x_1[299:296],i_di[27:24]),
    mul(i_x_1[295:292],i_di[27:24]),
    mul(i_x_1[291:288],i_di[27:24]),
    mul(i_x_1[287:284],i_di[27:24]),
    mul(i_x_1[283:280],i_di[27:24]),
    mul(i_x_1[279:276],i_di[27:24]),
    mul(i_x_1[275:272],i_di[27:24]),
    mul(i_x_1[271:268],i_di[27:24]),
    mul(i_x_1[267:264],i_di[27:24]),
    mul(i_x_1[263:260],i_di[27:24]),
    mul(i_x_1[259:256],i_di[27:24]),
    mul(i_x_1[255:252],i_di[27:24]),
    mul(i_x_1[251:248],i_di[27:24]),
    mul(i_x_1[247:244],i_di[27:24]),
    mul(i_x_1[243:240],i_di[27:24]),
    mul(i_x_1[239:236],i_di[27:24]),
    mul(i_x_1[235:232],i_di[27:24]),
    mul(i_x_1[231:228],i_di[27:24]),
    mul(i_x_1[227:224],i_di[27:24]),
    mul(i_x_1[223:220],i_di[27:24]),
    mul(i_x_1[219:216],i_di[27:24]),
    mul(i_x_1[215:212],i_di[27:24]),
    mul(i_x_1[211:208],i_di[27:24]),
    mul(i_x_1[207:204],i_di[27:24]),
    mul(i_x_1[203:200],i_di[27:24]),
    mul(i_x_1[199:196],i_di[27:24]),
    mul(i_x_1[195:192],i_di[27:24]),
    mul(i_x_1[191:188],i_di[27:24]),
    mul(i_x_1[187:184],i_di[27:24]),
    mul(i_x_1[183:180],i_di[27:24]),
    mul(i_x_1[179:176],i_di[27:24]),
    mul(i_x_1[175:172],i_di[27:24]),
    mul(i_x_1[171:168],i_di[27:24]),
    mul(i_x_1[167:164],i_di[27:24]),
    mul(i_x_1[163:160],i_di[27:24]),
    mul(i_x_1[159:156],i_di[27:24]),
    mul(i_x_1[155:152],i_di[27:24]),
    mul(i_x_1[151:148],i_di[27:24]),
    mul(i_x_1[147:144],i_di[27:24]),
    mul(i_x_1[143:140],i_di[27:24]),
    mul(i_x_1[139:136],i_di[27:24]),
    mul(i_x_1[135:132],i_di[27:24]),
    mul(i_x_1[131:128],i_di[27:24]),
    mul(i_x_1[127:124],i_di[27:24]),
    mul(i_x_1[123:120],i_di[27:24]),
    mul(i_x_1[119:116],i_di[27:24]),
    mul(i_x_1[115:112],i_di[27:24]),
    mul(i_x_1[111:108],i_di[27:24]),
    mul(i_x_1[107:104],i_di[27:24]),
    mul(i_x_1[103:100],i_di[27:24]),
    mul(i_x_1[99:96]  ,i_di[27:24]),
    mul(i_x_1[95:92]  ,i_di[27:24]),
    mul(i_x_1[91:88]  ,i_di[27:24]),
    mul(i_x_1[87:84]  ,i_di[27:24]),
    mul(i_x_1[83:80]  ,i_di[27:24]),
    mul(i_x_1[79:76]  ,i_di[27:24]),
    mul(i_x_1[75:72]  ,i_di[27:24]),
    mul(i_x_1[71:68]  ,i_di[27:24]),
    mul(i_x_1[67:64]  ,i_di[27:24]),
    mul(i_x_1[63:60]  ,i_di[27:24]),
    mul(i_x_1[59:56]  ,i_di[27:24]),
    mul(i_x_1[55:52]  ,i_di[27:24]),
    mul(i_x_1[51:48]  ,i_di[27:24]),
    mul(i_x_1[47:44]  ,i_di[27:24]),
    mul(i_x_1[43:40]  ,i_di[27:24]),
    mul(i_x_1[39:36]  ,i_di[27:24]),
    mul(i_x_1[35:32]  ,i_di[27:24]),
    mul(i_x_1[31:28]  ,i_di[27:24]),
    mul(i_x_1[27:24]  ,i_di[27:24]),
    mul(i_x_1[23:20]  ,i_di[27:24]),
    mul(i_x_1[19:16]  ,i_di[27:24]),
    mul(i_x_1[15:12]  ,i_di[27:24]),
    mul(i_x_1[11:8]   ,i_di[27:24]),
    mul(i_x_1[7:4]    ,i_di[27:24]),
    mul(i_x_1[3:0]    ,i_di[27:24])
};
assign o_xs_2 = {
    mul(i_x_2[767:764],i_di[23:20]),
    mul(i_x_2[763:760],i_di[23:20]),
    mul(i_x_2[759:756],i_di[23:20]),
    mul(i_x_2[755:752],i_di[23:20]),
    mul(i_x_2[751:748],i_di[23:20]),
    mul(i_x_2[747:744],i_di[23:20]),
    mul(i_x_2[743:740],i_di[23:20]),
    mul(i_x_2[739:736],i_di[23:20]),
    mul(i_x_2[735:732],i_di[23:20]),
    mul(i_x_2[731:728],i_di[23:20]),
    mul(i_x_2[727:724],i_di[23:20]),
    mul(i_x_2[723:720],i_di[23:20]),
    mul(i_x_2[719:716],i_di[23:20]),
    mul(i_x_2[715:712],i_di[23:20]),
    mul(i_x_2[711:708],i_di[23:20]),
    mul(i_x_2[707:704],i_di[23:20]),
    mul(i_x_2[703:700],i_di[23:20]),
    mul(i_x_2[699:696],i_di[23:20]),
    mul(i_x_2[695:692],i_di[23:20]),
    mul(i_x_2[691:688],i_di[23:20]),
    mul(i_x_2[687:684],i_di[23:20]),
    mul(i_x_2[683:680],i_di[23:20]),
    mul(i_x_2[679:676],i_di[23:20]),
    mul(i_x_2[675:672],i_di[23:20]),
    mul(i_x_2[671:668],i_di[23:20]),
    mul(i_x_2[667:664],i_di[23:20]),
    mul(i_x_2[663:660],i_di[23:20]),
    mul(i_x_2[659:656],i_di[23:20]),
    mul(i_x_2[655:652],i_di[23:20]),
    mul(i_x_2[651:648],i_di[23:20]),
    mul(i_x_2[647:644],i_di[23:20]),
    mul(i_x_2[643:640],i_di[23:20]),
    mul(i_x_2[639:636],i_di[23:20]),
    mul(i_x_2[635:632],i_di[23:20]),
    mul(i_x_2[631:628],i_di[23:20]),
    mul(i_x_2[627:624],i_di[23:20]),
    mul(i_x_2[623:620],i_di[23:20]),
    mul(i_x_2[619:616],i_di[23:20]),
    mul(i_x_2[615:612],i_di[23:20]),
    mul(i_x_2[611:608],i_di[23:20]),
    mul(i_x_2[607:604],i_di[23:20]),
    mul(i_x_2[603:600],i_di[23:20]),
    mul(i_x_2[599:596],i_di[23:20]),
    mul(i_x_2[595:592],i_di[23:20]),
    mul(i_x_2[591:588],i_di[23:20]),
    mul(i_x_2[587:584],i_di[23:20]),
    mul(i_x_2[583:580],i_di[23:20]),
    mul(i_x_2[579:576],i_di[23:20]),
    mul(i_x_2[575:572],i_di[23:20]),
    mul(i_x_2[571:568],i_di[23:20]),
    mul(i_x_2[567:564],i_di[23:20]),
    mul(i_x_2[563:560],i_di[23:20]),
    mul(i_x_2[559:556],i_di[23:20]),
    mul(i_x_2[555:552],i_di[23:20]),
    mul(i_x_2[551:548],i_di[23:20]),
    mul(i_x_2[547:544],i_di[23:20]),
    mul(i_x_2[543:540],i_di[23:20]),
    mul(i_x_2[539:536],i_di[23:20]),
    mul(i_x_2[535:532],i_di[23:20]),
    mul(i_x_2[531:528],i_di[23:20]),
    mul(i_x_2[527:524],i_di[23:20]),
    mul(i_x_2[523:520],i_di[23:20]),
    mul(i_x_2[519:516],i_di[23:20]),
    mul(i_x_2[515:512],i_di[23:20]),
    mul(i_x_2[511:508],i_di[23:20]),
    mul(i_x_2[507:504],i_di[23:20]),
    mul(i_x_2[503:500],i_di[23:20]),
    mul(i_x_2[499:496],i_di[23:20]),
    mul(i_x_2[495:492],i_di[23:20]),
    mul(i_x_2[491:488],i_di[23:20]),
    mul(i_x_2[487:484],i_di[23:20]),
    mul(i_x_2[483:480],i_di[23:20]),
    mul(i_x_2[479:476],i_di[23:20]),
    mul(i_x_2[475:472],i_di[23:20]),
    mul(i_x_2[471:468],i_di[23:20]),
    mul(i_x_2[467:464],i_di[23:20]),
    mul(i_x_2[463:460],i_di[23:20]),
    mul(i_x_2[459:456],i_di[23:20]),
    mul(i_x_2[455:452],i_di[23:20]),
    mul(i_x_2[451:448],i_di[23:20]),
    mul(i_x_2[447:444],i_di[23:20]),
    mul(i_x_2[443:440],i_di[23:20]),
    mul(i_x_2[439:436],i_di[23:20]),
    mul(i_x_2[435:432],i_di[23:20]),
    mul(i_x_2[431:428],i_di[23:20]),
    mul(i_x_2[427:424],i_di[23:20]),
    mul(i_x_2[423:420],i_di[23:20]),
    mul(i_x_2[419:416],i_di[23:20]),
    mul(i_x_2[415:412],i_di[23:20]),
    mul(i_x_2[411:408],i_di[23:20]),
    mul(i_x_2[407:404],i_di[23:20]),
    mul(i_x_2[403:400],i_di[23:20]),
    mul(i_x_2[399:396],i_di[23:20]),
    mul(i_x_2[395:392],i_di[23:20]),
    mul(i_x_2[391:388],i_di[23:20]),
    mul(i_x_2[387:384],i_di[23:20]),
    mul(i_x_2[383:380],i_di[23:20]),
    mul(i_x_2[379:376],i_di[23:20]),
    mul(i_x_2[375:372],i_di[23:20]),
    mul(i_x_2[371:368],i_di[23:20]),
    mul(i_x_2[367:364],i_di[23:20]),
    mul(i_x_2[363:360],i_di[23:20]),
    mul(i_x_2[359:356],i_di[23:20]),
    mul(i_x_2[355:352],i_di[23:20]),
    mul(i_x_2[351:348],i_di[23:20]),
    mul(i_x_2[347:344],i_di[23:20]),
    mul(i_x_2[343:340],i_di[23:20]),
    mul(i_x_2[339:336],i_di[23:20]),
    mul(i_x_2[335:332],i_di[23:20]),
    mul(i_x_2[331:328],i_di[23:20]),
    mul(i_x_2[327:324],i_di[23:20]),
    mul(i_x_2[323:320],i_di[23:20]),
    mul(i_x_2[319:316],i_di[23:20]),
    mul(i_x_2[315:312],i_di[23:20]),
    mul(i_x_2[311:308],i_di[23:20]),
    mul(i_x_2[307:304],i_di[23:20]),
    mul(i_x_2[303:300],i_di[23:20]),
    mul(i_x_2[299:296],i_di[23:20]),
    mul(i_x_2[295:292],i_di[23:20]),
    mul(i_x_2[291:288],i_di[23:20]),
    mul(i_x_2[287:284],i_di[23:20]),
    mul(i_x_2[283:280],i_di[23:20]),
    mul(i_x_2[279:276],i_di[23:20]),
    mul(i_x_2[275:272],i_di[23:20]),
    mul(i_x_2[271:268],i_di[23:20]),
    mul(i_x_2[267:264],i_di[23:20]),
    mul(i_x_2[263:260],i_di[23:20]),
    mul(i_x_2[259:256],i_di[23:20]),
    mul(i_x_2[255:252],i_di[23:20]),
    mul(i_x_2[251:248],i_di[23:20]),
    mul(i_x_2[247:244],i_di[23:20]),
    mul(i_x_2[243:240],i_di[23:20]),
    mul(i_x_2[239:236],i_di[23:20]),
    mul(i_x_2[235:232],i_di[23:20]),
    mul(i_x_2[231:228],i_di[23:20]),
    mul(i_x_2[227:224],i_di[23:20]),
    mul(i_x_2[223:220],i_di[23:20]),
    mul(i_x_2[219:216],i_di[23:20]),
    mul(i_x_2[215:212],i_di[23:20]),
    mul(i_x_2[211:208],i_di[23:20]),
    mul(i_x_2[207:204],i_di[23:20]),
    mul(i_x_2[203:200],i_di[23:20]),
    mul(i_x_2[199:196],i_di[23:20]),
    mul(i_x_2[195:192],i_di[23:20]),
    mul(i_x_2[191:188],i_di[23:20]),
    mul(i_x_2[187:184],i_di[23:20]),
    mul(i_x_2[183:180],i_di[23:20]),
    mul(i_x_2[179:176],i_di[23:20]),
    mul(i_x_2[175:172],i_di[23:20]),
    mul(i_x_2[171:168],i_di[23:20]),
    mul(i_x_2[167:164],i_di[23:20]),
    mul(i_x_2[163:160],i_di[23:20]),
    mul(i_x_2[159:156],i_di[23:20]),
    mul(i_x_2[155:152],i_di[23:20]),
    mul(i_x_2[151:148],i_di[23:20]),
    mul(i_x_2[147:144],i_di[23:20]),
    mul(i_x_2[143:140],i_di[23:20]),
    mul(i_x_2[139:136],i_di[23:20]),
    mul(i_x_2[135:132],i_di[23:20]),
    mul(i_x_2[131:128],i_di[23:20]),
    mul(i_x_2[127:124],i_di[23:20]),
    mul(i_x_2[123:120],i_di[23:20]),
    mul(i_x_2[119:116],i_di[23:20]),
    mul(i_x_2[115:112],i_di[23:20]),
    mul(i_x_2[111:108],i_di[23:20]),
    mul(i_x_2[107:104],i_di[23:20]),
    mul(i_x_2[103:100],i_di[23:20]),
    mul(i_x_2[99:96]  ,i_di[23:20]),
    mul(i_x_2[95:92]  ,i_di[23:20]),
    mul(i_x_2[91:88]  ,i_di[23:20]),
    mul(i_x_2[87:84]  ,i_di[23:20]),
    mul(i_x_2[83:80]  ,i_di[23:20]),
    mul(i_x_2[79:76]  ,i_di[23:20]),
    mul(i_x_2[75:72]  ,i_di[23:20]),
    mul(i_x_2[71:68]  ,i_di[23:20]),
    mul(i_x_2[67:64]  ,i_di[23:20]),
    mul(i_x_2[63:60]  ,i_di[23:20]),
    mul(i_x_2[59:56]  ,i_di[23:20]),
    mul(i_x_2[55:52]  ,i_di[23:20]),
    mul(i_x_2[51:48]  ,i_di[23:20]),
    mul(i_x_2[47:44]  ,i_di[23:20]),
    mul(i_x_2[43:40]  ,i_di[23:20]),
    mul(i_x_2[39:36]  ,i_di[23:20]),
    mul(i_x_2[35:32]  ,i_di[23:20]),
    mul(i_x_2[31:28]  ,i_di[23:20]),
    mul(i_x_2[27:24]  ,i_di[23:20]),
    mul(i_x_2[23:20]  ,i_di[23:20]),
    mul(i_x_2[19:16]  ,i_di[23:20]),
    mul(i_x_2[15:12]  ,i_di[23:20]),
    mul(i_x_2[11:8]   ,i_di[23:20]),
    mul(i_x_2[7:4]    ,i_di[23:20]),
    mul(i_x_2[3:0]    ,i_di[23:20])
};
assign o_xs_3 = {
    mul(i_x_3[767:764],i_di[19:16]),
    mul(i_x_3[763:760],i_di[19:16]),
    mul(i_x_3[759:756],i_di[19:16]),
    mul(i_x_3[755:752],i_di[19:16]),
    mul(i_x_3[751:748],i_di[19:16]),
    mul(i_x_3[747:744],i_di[19:16]),
    mul(i_x_3[743:740],i_di[19:16]),
    mul(i_x_3[739:736],i_di[19:16]),
    mul(i_x_3[735:732],i_di[19:16]),
    mul(i_x_3[731:728],i_di[19:16]),
    mul(i_x_3[727:724],i_di[19:16]),
    mul(i_x_3[723:720],i_di[19:16]),
    mul(i_x_3[719:716],i_di[19:16]),
    mul(i_x_3[715:712],i_di[19:16]),
    mul(i_x_3[711:708],i_di[19:16]),
    mul(i_x_3[707:704],i_di[19:16]),
    mul(i_x_3[703:700],i_di[19:16]),
    mul(i_x_3[699:696],i_di[19:16]),
    mul(i_x_3[695:692],i_di[19:16]),
    mul(i_x_3[691:688],i_di[19:16]),
    mul(i_x_3[687:684],i_di[19:16]),
    mul(i_x_3[683:680],i_di[19:16]),
    mul(i_x_3[679:676],i_di[19:16]),
    mul(i_x_3[675:672],i_di[19:16]),
    mul(i_x_3[671:668],i_di[19:16]),
    mul(i_x_3[667:664],i_di[19:16]),
    mul(i_x_3[663:660],i_di[19:16]),
    mul(i_x_3[659:656],i_di[19:16]),
    mul(i_x_3[655:652],i_di[19:16]),
    mul(i_x_3[651:648],i_di[19:16]),
    mul(i_x_3[647:644],i_di[19:16]),
    mul(i_x_3[643:640],i_di[19:16]),
    mul(i_x_3[639:636],i_di[19:16]),
    mul(i_x_3[635:632],i_di[19:16]),
    mul(i_x_3[631:628],i_di[19:16]),
    mul(i_x_3[627:624],i_di[19:16]),
    mul(i_x_3[623:620],i_di[19:16]),
    mul(i_x_3[619:616],i_di[19:16]),
    mul(i_x_3[615:612],i_di[19:16]),
    mul(i_x_3[611:608],i_di[19:16]),
    mul(i_x_3[607:604],i_di[19:16]),
    mul(i_x_3[603:600],i_di[19:16]),
    mul(i_x_3[599:596],i_di[19:16]),
    mul(i_x_3[595:592],i_di[19:16]),
    mul(i_x_3[591:588],i_di[19:16]),
    mul(i_x_3[587:584],i_di[19:16]),
    mul(i_x_3[583:580],i_di[19:16]),
    mul(i_x_3[579:576],i_di[19:16]),
    mul(i_x_3[575:572],i_di[19:16]),
    mul(i_x_3[571:568],i_di[19:16]),
    mul(i_x_3[567:564],i_di[19:16]),
    mul(i_x_3[563:560],i_di[19:16]),
    mul(i_x_3[559:556],i_di[19:16]),
    mul(i_x_3[555:552],i_di[19:16]),
    mul(i_x_3[551:548],i_di[19:16]),
    mul(i_x_3[547:544],i_di[19:16]),
    mul(i_x_3[543:540],i_di[19:16]),
    mul(i_x_3[539:536],i_di[19:16]),
    mul(i_x_3[535:532],i_di[19:16]),
    mul(i_x_3[531:528],i_di[19:16]),
    mul(i_x_3[527:524],i_di[19:16]),
    mul(i_x_3[523:520],i_di[19:16]),
    mul(i_x_3[519:516],i_di[19:16]),
    mul(i_x_3[515:512],i_di[19:16]),
    mul(i_x_3[511:508],i_di[19:16]),
    mul(i_x_3[507:504],i_di[19:16]),
    mul(i_x_3[503:500],i_di[19:16]),
    mul(i_x_3[499:496],i_di[19:16]),
    mul(i_x_3[495:492],i_di[19:16]),
    mul(i_x_3[491:488],i_di[19:16]),
    mul(i_x_3[487:484],i_di[19:16]),
    mul(i_x_3[483:480],i_di[19:16]),
    mul(i_x_3[479:476],i_di[19:16]),
    mul(i_x_3[475:472],i_di[19:16]),
    mul(i_x_3[471:468],i_di[19:16]),
    mul(i_x_3[467:464],i_di[19:16]),
    mul(i_x_3[463:460],i_di[19:16]),
    mul(i_x_3[459:456],i_di[19:16]),
    mul(i_x_3[455:452],i_di[19:16]),
    mul(i_x_3[451:448],i_di[19:16]),
    mul(i_x_3[447:444],i_di[19:16]),
    mul(i_x_3[443:440],i_di[19:16]),
    mul(i_x_3[439:436],i_di[19:16]),
    mul(i_x_3[435:432],i_di[19:16]),
    mul(i_x_3[431:428],i_di[19:16]),
    mul(i_x_3[427:424],i_di[19:16]),
    mul(i_x_3[423:420],i_di[19:16]),
    mul(i_x_3[419:416],i_di[19:16]),
    mul(i_x_3[415:412],i_di[19:16]),
    mul(i_x_3[411:408],i_di[19:16]),
    mul(i_x_3[407:404],i_di[19:16]),
    mul(i_x_3[403:400],i_di[19:16]),
    mul(i_x_3[399:396],i_di[19:16]),
    mul(i_x_3[395:392],i_di[19:16]),
    mul(i_x_3[391:388],i_di[19:16]),
    mul(i_x_3[387:384],i_di[19:16]),
    mul(i_x_3[383:380],i_di[19:16]),
    mul(i_x_3[379:376],i_di[19:16]),
    mul(i_x_3[375:372],i_di[19:16]),
    mul(i_x_3[371:368],i_di[19:16]),
    mul(i_x_3[367:364],i_di[19:16]),
    mul(i_x_3[363:360],i_di[19:16]),
    mul(i_x_3[359:356],i_di[19:16]),
    mul(i_x_3[355:352],i_di[19:16]),
    mul(i_x_3[351:348],i_di[19:16]),
    mul(i_x_3[347:344],i_di[19:16]),
    mul(i_x_3[343:340],i_di[19:16]),
    mul(i_x_3[339:336],i_di[19:16]),
    mul(i_x_3[335:332],i_di[19:16]),
    mul(i_x_3[331:328],i_di[19:16]),
    mul(i_x_3[327:324],i_di[19:16]),
    mul(i_x_3[323:320],i_di[19:16]),
    mul(i_x_3[319:316],i_di[19:16]),
    mul(i_x_3[315:312],i_di[19:16]),
    mul(i_x_3[311:308],i_di[19:16]),
    mul(i_x_3[307:304],i_di[19:16]),
    mul(i_x_3[303:300],i_di[19:16]),
    mul(i_x_3[299:296],i_di[19:16]),
    mul(i_x_3[295:292],i_di[19:16]),
    mul(i_x_3[291:288],i_di[19:16]),
    mul(i_x_3[287:284],i_di[19:16]),
    mul(i_x_3[283:280],i_di[19:16]),
    mul(i_x_3[279:276],i_di[19:16]),
    mul(i_x_3[275:272],i_di[19:16]),
    mul(i_x_3[271:268],i_di[19:16]),
    mul(i_x_3[267:264],i_di[19:16]),
    mul(i_x_3[263:260],i_di[19:16]),
    mul(i_x_3[259:256],i_di[19:16]),
    mul(i_x_3[255:252],i_di[19:16]),
    mul(i_x_3[251:248],i_di[19:16]),
    mul(i_x_3[247:244],i_di[19:16]),
    mul(i_x_3[243:240],i_di[19:16]),
    mul(i_x_3[239:236],i_di[19:16]),
    mul(i_x_3[235:232],i_di[19:16]),
    mul(i_x_3[231:228],i_di[19:16]),
    mul(i_x_3[227:224],i_di[19:16]),
    mul(i_x_3[223:220],i_di[19:16]),
    mul(i_x_3[219:216],i_di[19:16]),
    mul(i_x_3[215:212],i_di[19:16]),
    mul(i_x_3[211:208],i_di[19:16]),
    mul(i_x_3[207:204],i_di[19:16]),
    mul(i_x_3[203:200],i_di[19:16]),
    mul(i_x_3[199:196],i_di[19:16]),
    mul(i_x_3[195:192],i_di[19:16]),
    mul(i_x_3[191:188],i_di[19:16]),
    mul(i_x_3[187:184],i_di[19:16]),
    mul(i_x_3[183:180],i_di[19:16]),
    mul(i_x_3[179:176],i_di[19:16]),
    mul(i_x_3[175:172],i_di[19:16]),
    mul(i_x_3[171:168],i_di[19:16]),
    mul(i_x_3[167:164],i_di[19:16]),
    mul(i_x_3[163:160],i_di[19:16]),
    mul(i_x_3[159:156],i_di[19:16]),
    mul(i_x_3[155:152],i_di[19:16]),
    mul(i_x_3[151:148],i_di[19:16]),
    mul(i_x_3[147:144],i_di[19:16]),
    mul(i_x_3[143:140],i_di[19:16]),
    mul(i_x_3[139:136],i_di[19:16]),
    mul(i_x_3[135:132],i_di[19:16]),
    mul(i_x_3[131:128],i_di[19:16]),
    mul(i_x_3[127:124],i_di[19:16]),
    mul(i_x_3[123:120],i_di[19:16]),
    mul(i_x_3[119:116],i_di[19:16]),
    mul(i_x_3[115:112],i_di[19:16]),
    mul(i_x_3[111:108],i_di[19:16]),
    mul(i_x_3[107:104],i_di[19:16]),
    mul(i_x_3[103:100],i_di[19:16]),
    mul(i_x_3[99:96]  ,i_di[19:16]),
    mul(i_x_3[95:92]  ,i_di[19:16]),
    mul(i_x_3[91:88]  ,i_di[19:16]),
    mul(i_x_3[87:84]  ,i_di[19:16]),
    mul(i_x_3[83:80]  ,i_di[19:16]),
    mul(i_x_3[79:76]  ,i_di[19:16]),
    mul(i_x_3[75:72]  ,i_di[19:16]),
    mul(i_x_3[71:68]  ,i_di[19:16]),
    mul(i_x_3[67:64]  ,i_di[19:16]),
    mul(i_x_3[63:60]  ,i_di[19:16]),
    mul(i_x_3[59:56]  ,i_di[19:16]),
    mul(i_x_3[55:52]  ,i_di[19:16]),
    mul(i_x_3[51:48]  ,i_di[19:16]),
    mul(i_x_3[47:44]  ,i_di[19:16]),
    mul(i_x_3[43:40]  ,i_di[19:16]),
    mul(i_x_3[39:36]  ,i_di[19:16]),
    mul(i_x_3[35:32]  ,i_di[19:16]),
    mul(i_x_3[31:28]  ,i_di[19:16]),
    mul(i_x_3[27:24]  ,i_di[19:16]),
    mul(i_x_3[23:20]  ,i_di[19:16]),
    mul(i_x_3[19:16]  ,i_di[19:16]),
    mul(i_x_3[15:12]  ,i_di[19:16]),
    mul(i_x_3[11:8]   ,i_di[19:16]),
    mul(i_x_3[7:4]    ,i_di[19:16]),
    mul(i_x_3[3:0]    ,i_di[19:16])
};
assign o_xs_4 = {
    mul(i_x_4[767:764],i_di[15:12]),
    mul(i_x_4[763:760],i_di[15:12]),
    mul(i_x_4[759:756],i_di[15:12]),
    mul(i_x_4[755:752],i_di[15:12]),
    mul(i_x_4[751:748],i_di[15:12]),
    mul(i_x_4[747:744],i_di[15:12]),
    mul(i_x_4[743:740],i_di[15:12]),
    mul(i_x_4[739:736],i_di[15:12]),
    mul(i_x_4[735:732],i_di[15:12]),
    mul(i_x_4[731:728],i_di[15:12]),
    mul(i_x_4[727:724],i_di[15:12]),
    mul(i_x_4[723:720],i_di[15:12]),
    mul(i_x_4[719:716],i_di[15:12]),
    mul(i_x_4[715:712],i_di[15:12]),
    mul(i_x_4[711:708],i_di[15:12]),
    mul(i_x_4[707:704],i_di[15:12]),
    mul(i_x_4[703:700],i_di[15:12]),
    mul(i_x_4[699:696],i_di[15:12]),
    mul(i_x_4[695:692],i_di[15:12]),
    mul(i_x_4[691:688],i_di[15:12]),
    mul(i_x_4[687:684],i_di[15:12]),
    mul(i_x_4[683:680],i_di[15:12]),
    mul(i_x_4[679:676],i_di[15:12]),
    mul(i_x_4[675:672],i_di[15:12]),
    mul(i_x_4[671:668],i_di[15:12]),
    mul(i_x_4[667:664],i_di[15:12]),
    mul(i_x_4[663:660],i_di[15:12]),
    mul(i_x_4[659:656],i_di[15:12]),
    mul(i_x_4[655:652],i_di[15:12]),
    mul(i_x_4[651:648],i_di[15:12]),
    mul(i_x_4[647:644],i_di[15:12]),
    mul(i_x_4[643:640],i_di[15:12]),
    mul(i_x_4[639:636],i_di[15:12]),
    mul(i_x_4[635:632],i_di[15:12]),
    mul(i_x_4[631:628],i_di[15:12]),
    mul(i_x_4[627:624],i_di[15:12]),
    mul(i_x_4[623:620],i_di[15:12]),
    mul(i_x_4[619:616],i_di[15:12]),
    mul(i_x_4[615:612],i_di[15:12]),
    mul(i_x_4[611:608],i_di[15:12]),
    mul(i_x_4[607:604],i_di[15:12]),
    mul(i_x_4[603:600],i_di[15:12]),
    mul(i_x_4[599:596],i_di[15:12]),
    mul(i_x_4[595:592],i_di[15:12]),
    mul(i_x_4[591:588],i_di[15:12]),
    mul(i_x_4[587:584],i_di[15:12]),
    mul(i_x_4[583:580],i_di[15:12]),
    mul(i_x_4[579:576],i_di[15:12]),
    mul(i_x_4[575:572],i_di[15:12]),
    mul(i_x_4[571:568],i_di[15:12]),
    mul(i_x_4[567:564],i_di[15:12]),
    mul(i_x_4[563:560],i_di[15:12]),
    mul(i_x_4[559:556],i_di[15:12]),
    mul(i_x_4[555:552],i_di[15:12]),
    mul(i_x_4[551:548],i_di[15:12]),
    mul(i_x_4[547:544],i_di[15:12]),
    mul(i_x_4[543:540],i_di[15:12]),
    mul(i_x_4[539:536],i_di[15:12]),
    mul(i_x_4[535:532],i_di[15:12]),
    mul(i_x_4[531:528],i_di[15:12]),
    mul(i_x_4[527:524],i_di[15:12]),
    mul(i_x_4[523:520],i_di[15:12]),
    mul(i_x_4[519:516],i_di[15:12]),
    mul(i_x_4[515:512],i_di[15:12]),
    mul(i_x_4[511:508],i_di[15:12]),
    mul(i_x_4[507:504],i_di[15:12]),
    mul(i_x_4[503:500],i_di[15:12]),
    mul(i_x_4[499:496],i_di[15:12]),
    mul(i_x_4[495:492],i_di[15:12]),
    mul(i_x_4[491:488],i_di[15:12]),
    mul(i_x_4[487:484],i_di[15:12]),
    mul(i_x_4[483:480],i_di[15:12]),
    mul(i_x_4[479:476],i_di[15:12]),
    mul(i_x_4[475:472],i_di[15:12]),
    mul(i_x_4[471:468],i_di[15:12]),
    mul(i_x_4[467:464],i_di[15:12]),
    mul(i_x_4[463:460],i_di[15:12]),
    mul(i_x_4[459:456],i_di[15:12]),
    mul(i_x_4[455:452],i_di[15:12]),
    mul(i_x_4[451:448],i_di[15:12]),
    mul(i_x_4[447:444],i_di[15:12]),
    mul(i_x_4[443:440],i_di[15:12]),
    mul(i_x_4[439:436],i_di[15:12]),
    mul(i_x_4[435:432],i_di[15:12]),
    mul(i_x_4[431:428],i_di[15:12]),
    mul(i_x_4[427:424],i_di[15:12]),
    mul(i_x_4[423:420],i_di[15:12]),
    mul(i_x_4[419:416],i_di[15:12]),
    mul(i_x_4[415:412],i_di[15:12]),
    mul(i_x_4[411:408],i_di[15:12]),
    mul(i_x_4[407:404],i_di[15:12]),
    mul(i_x_4[403:400],i_di[15:12]),
    mul(i_x_4[399:396],i_di[15:12]),
    mul(i_x_4[395:392],i_di[15:12]),
    mul(i_x_4[391:388],i_di[15:12]),
    mul(i_x_4[387:384],i_di[15:12]),
    mul(i_x_4[383:380],i_di[15:12]),
    mul(i_x_4[379:376],i_di[15:12]),
    mul(i_x_4[375:372],i_di[15:12]),
    mul(i_x_4[371:368],i_di[15:12]),
    mul(i_x_4[367:364],i_di[15:12]),
    mul(i_x_4[363:360],i_di[15:12]),
    mul(i_x_4[359:356],i_di[15:12]),
    mul(i_x_4[355:352],i_di[15:12]),
    mul(i_x_4[351:348],i_di[15:12]),
    mul(i_x_4[347:344],i_di[15:12]),
    mul(i_x_4[343:340],i_di[15:12]),
    mul(i_x_4[339:336],i_di[15:12]),
    mul(i_x_4[335:332],i_di[15:12]),
    mul(i_x_4[331:328],i_di[15:12]),
    mul(i_x_4[327:324],i_di[15:12]),
    mul(i_x_4[323:320],i_di[15:12]),
    mul(i_x_4[319:316],i_di[15:12]),
    mul(i_x_4[315:312],i_di[15:12]),
    mul(i_x_4[311:308],i_di[15:12]),
    mul(i_x_4[307:304],i_di[15:12]),
    mul(i_x_4[303:300],i_di[15:12]),
    mul(i_x_4[299:296],i_di[15:12]),
    mul(i_x_4[295:292],i_di[15:12]),
    mul(i_x_4[291:288],i_di[15:12]),
    mul(i_x_4[287:284],i_di[15:12]),
    mul(i_x_4[283:280],i_di[15:12]),
    mul(i_x_4[279:276],i_di[15:12]),
    mul(i_x_4[275:272],i_di[15:12]),
    mul(i_x_4[271:268],i_di[15:12]),
    mul(i_x_4[267:264],i_di[15:12]),
    mul(i_x_4[263:260],i_di[15:12]),
    mul(i_x_4[259:256],i_di[15:12]),
    mul(i_x_4[255:252],i_di[15:12]),
    mul(i_x_4[251:248],i_di[15:12]),
    mul(i_x_4[247:244],i_di[15:12]),
    mul(i_x_4[243:240],i_di[15:12]),
    mul(i_x_4[239:236],i_di[15:12]),
    mul(i_x_4[235:232],i_di[15:12]),
    mul(i_x_4[231:228],i_di[15:12]),
    mul(i_x_4[227:224],i_di[15:12]),
    mul(i_x_4[223:220],i_di[15:12]),
    mul(i_x_4[219:216],i_di[15:12]),
    mul(i_x_4[215:212],i_di[15:12]),
    mul(i_x_4[211:208],i_di[15:12]),
    mul(i_x_4[207:204],i_di[15:12]),
    mul(i_x_4[203:200],i_di[15:12]),
    mul(i_x_4[199:196],i_di[15:12]),
    mul(i_x_4[195:192],i_di[15:12]),
    mul(i_x_4[191:188],i_di[15:12]),
    mul(i_x_4[187:184],i_di[15:12]),
    mul(i_x_4[183:180],i_di[15:12]),
    mul(i_x_4[179:176],i_di[15:12]),
    mul(i_x_4[175:172],i_di[15:12]),
    mul(i_x_4[171:168],i_di[15:12]),
    mul(i_x_4[167:164],i_di[15:12]),
    mul(i_x_4[163:160],i_di[15:12]),
    mul(i_x_4[159:156],i_di[15:12]),
    mul(i_x_4[155:152],i_di[15:12]),
    mul(i_x_4[151:148],i_di[15:12]),
    mul(i_x_4[147:144],i_di[15:12]),
    mul(i_x_4[143:140],i_di[15:12]),
    mul(i_x_4[139:136],i_di[15:12]),
    mul(i_x_4[135:132],i_di[15:12]),
    mul(i_x_4[131:128],i_di[15:12]),
    mul(i_x_4[127:124],i_di[15:12]),
    mul(i_x_4[123:120],i_di[15:12]),
    mul(i_x_4[119:116],i_di[15:12]),
    mul(i_x_4[115:112],i_di[15:12]),
    mul(i_x_4[111:108],i_di[15:12]),
    mul(i_x_4[107:104],i_di[15:12]),
    mul(i_x_4[103:100],i_di[15:12]),
    mul(i_x_4[99:96]  ,i_di[15:12]),
    mul(i_x_4[95:92]  ,i_di[15:12]),
    mul(i_x_4[91:88]  ,i_di[15:12]),
    mul(i_x_4[87:84]  ,i_di[15:12]),
    mul(i_x_4[83:80]  ,i_di[15:12]),
    mul(i_x_4[79:76]  ,i_di[15:12]),
    mul(i_x_4[75:72]  ,i_di[15:12]),
    mul(i_x_4[71:68]  ,i_di[15:12]),
    mul(i_x_4[67:64]  ,i_di[15:12]),
    mul(i_x_4[63:60]  ,i_di[15:12]),
    mul(i_x_4[59:56]  ,i_di[15:12]),
    mul(i_x_4[55:52]  ,i_di[15:12]),
    mul(i_x_4[51:48]  ,i_di[15:12]),
    mul(i_x_4[47:44]  ,i_di[15:12]),
    mul(i_x_4[43:40]  ,i_di[15:12]),
    mul(i_x_4[39:36]  ,i_di[15:12]),
    mul(i_x_4[35:32]  ,i_di[15:12]),
    mul(i_x_4[31:28]  ,i_di[15:12]),
    mul(i_x_4[27:24]  ,i_di[15:12]),
    mul(i_x_4[23:20]  ,i_di[15:12]),
    mul(i_x_4[19:16]  ,i_di[15:12]),
    mul(i_x_4[15:12]  ,i_di[15:12]),
    mul(i_x_4[11:8]   ,i_di[15:12]),
    mul(i_x_4[7:4]    ,i_di[15:12]),
    mul(i_x_4[3:0]    ,i_di[15:12])
};
assign o_xs_5 = {
    mul(i_x_5[767:764],i_di[11:8]),
    mul(i_x_5[763:760],i_di[11:8]),
    mul(i_x_5[759:756],i_di[11:8]),
    mul(i_x_5[755:752],i_di[11:8]),
    mul(i_x_5[751:748],i_di[11:8]),
    mul(i_x_5[747:744],i_di[11:8]),
    mul(i_x_5[743:740],i_di[11:8]),
    mul(i_x_5[739:736],i_di[11:8]),
    mul(i_x_5[735:732],i_di[11:8]),
    mul(i_x_5[731:728],i_di[11:8]),
    mul(i_x_5[727:724],i_di[11:8]),
    mul(i_x_5[723:720],i_di[11:8]),
    mul(i_x_5[719:716],i_di[11:8]),
    mul(i_x_5[715:712],i_di[11:8]),
    mul(i_x_5[711:708],i_di[11:8]),
    mul(i_x_5[707:704],i_di[11:8]),
    mul(i_x_5[703:700],i_di[11:8]),
    mul(i_x_5[699:696],i_di[11:8]),
    mul(i_x_5[695:692],i_di[11:8]),
    mul(i_x_5[691:688],i_di[11:8]),
    mul(i_x_5[687:684],i_di[11:8]),
    mul(i_x_5[683:680],i_di[11:8]),
    mul(i_x_5[679:676],i_di[11:8]),
    mul(i_x_5[675:672],i_di[11:8]),
    mul(i_x_5[671:668],i_di[11:8]),
    mul(i_x_5[667:664],i_di[11:8]),
    mul(i_x_5[663:660],i_di[11:8]),
    mul(i_x_5[659:656],i_di[11:8]),
    mul(i_x_5[655:652],i_di[11:8]),
    mul(i_x_5[651:648],i_di[11:8]),
    mul(i_x_5[647:644],i_di[11:8]),
    mul(i_x_5[643:640],i_di[11:8]),
    mul(i_x_5[639:636],i_di[11:8]),
    mul(i_x_5[635:632],i_di[11:8]),
    mul(i_x_5[631:628],i_di[11:8]),
    mul(i_x_5[627:624],i_di[11:8]),
    mul(i_x_5[623:620],i_di[11:8]),
    mul(i_x_5[619:616],i_di[11:8]),
    mul(i_x_5[615:612],i_di[11:8]),
    mul(i_x_5[611:608],i_di[11:8]),
    mul(i_x_5[607:604],i_di[11:8]),
    mul(i_x_5[603:600],i_di[11:8]),
    mul(i_x_5[599:596],i_di[11:8]),
    mul(i_x_5[595:592],i_di[11:8]),
    mul(i_x_5[591:588],i_di[11:8]),
    mul(i_x_5[587:584],i_di[11:8]),
    mul(i_x_5[583:580],i_di[11:8]),
    mul(i_x_5[579:576],i_di[11:8]),
    mul(i_x_5[575:572],i_di[11:8]),
    mul(i_x_5[571:568],i_di[11:8]),
    mul(i_x_5[567:564],i_di[11:8]),
    mul(i_x_5[563:560],i_di[11:8]),
    mul(i_x_5[559:556],i_di[11:8]),
    mul(i_x_5[555:552],i_di[11:8]),
    mul(i_x_5[551:548],i_di[11:8]),
    mul(i_x_5[547:544],i_di[11:8]),
    mul(i_x_5[543:540],i_di[11:8]),
    mul(i_x_5[539:536],i_di[11:8]),
    mul(i_x_5[535:532],i_di[11:8]),
    mul(i_x_5[531:528],i_di[11:8]),
    mul(i_x_5[527:524],i_di[11:8]),
    mul(i_x_5[523:520],i_di[11:8]),
    mul(i_x_5[519:516],i_di[11:8]),
    mul(i_x_5[515:512],i_di[11:8]),
    mul(i_x_5[511:508],i_di[11:8]),
    mul(i_x_5[507:504],i_di[11:8]),
    mul(i_x_5[503:500],i_di[11:8]),
    mul(i_x_5[499:496],i_di[11:8]),
    mul(i_x_5[495:492],i_di[11:8]),
    mul(i_x_5[491:488],i_di[11:8]),
    mul(i_x_5[487:484],i_di[11:8]),
    mul(i_x_5[483:480],i_di[11:8]),
    mul(i_x_5[479:476],i_di[11:8]),
    mul(i_x_5[475:472],i_di[11:8]),
    mul(i_x_5[471:468],i_di[11:8]),
    mul(i_x_5[467:464],i_di[11:8]),
    mul(i_x_5[463:460],i_di[11:8]),
    mul(i_x_5[459:456],i_di[11:8]),
    mul(i_x_5[455:452],i_di[11:8]),
    mul(i_x_5[451:448],i_di[11:8]),
    mul(i_x_5[447:444],i_di[11:8]),
    mul(i_x_5[443:440],i_di[11:8]),
    mul(i_x_5[439:436],i_di[11:8]),
    mul(i_x_5[435:432],i_di[11:8]),
    mul(i_x_5[431:428],i_di[11:8]),
    mul(i_x_5[427:424],i_di[11:8]),
    mul(i_x_5[423:420],i_di[11:8]),
    mul(i_x_5[419:416],i_di[11:8]),
    mul(i_x_5[415:412],i_di[11:8]),
    mul(i_x_5[411:408],i_di[11:8]),
    mul(i_x_5[407:404],i_di[11:8]),
    mul(i_x_5[403:400],i_di[11:8]),
    mul(i_x_5[399:396],i_di[11:8]),
    mul(i_x_5[395:392],i_di[11:8]),
    mul(i_x_5[391:388],i_di[11:8]),
    mul(i_x_5[387:384],i_di[11:8]),
    mul(i_x_5[383:380],i_di[11:8]),
    mul(i_x_5[379:376],i_di[11:8]),
    mul(i_x_5[375:372],i_di[11:8]),
    mul(i_x_5[371:368],i_di[11:8]),
    mul(i_x_5[367:364],i_di[11:8]),
    mul(i_x_5[363:360],i_di[11:8]),
    mul(i_x_5[359:356],i_di[11:8]),
    mul(i_x_5[355:352],i_di[11:8]),
    mul(i_x_5[351:348],i_di[11:8]),
    mul(i_x_5[347:344],i_di[11:8]),
    mul(i_x_5[343:340],i_di[11:8]),
    mul(i_x_5[339:336],i_di[11:8]),
    mul(i_x_5[335:332],i_di[11:8]),
    mul(i_x_5[331:328],i_di[11:8]),
    mul(i_x_5[327:324],i_di[11:8]),
    mul(i_x_5[323:320],i_di[11:8]),
    mul(i_x_5[319:316],i_di[11:8]),
    mul(i_x_5[315:312],i_di[11:8]),
    mul(i_x_5[311:308],i_di[11:8]),
    mul(i_x_5[307:304],i_di[11:8]),
    mul(i_x_5[303:300],i_di[11:8]),
    mul(i_x_5[299:296],i_di[11:8]),
    mul(i_x_5[295:292],i_di[11:8]),
    mul(i_x_5[291:288],i_di[11:8]),
    mul(i_x_5[287:284],i_di[11:8]),
    mul(i_x_5[283:280],i_di[11:8]),
    mul(i_x_5[279:276],i_di[11:8]),
    mul(i_x_5[275:272],i_di[11:8]),
    mul(i_x_5[271:268],i_di[11:8]),
    mul(i_x_5[267:264],i_di[11:8]),
    mul(i_x_5[263:260],i_di[11:8]),
    mul(i_x_5[259:256],i_di[11:8]),
    mul(i_x_5[255:252],i_di[11:8]),
    mul(i_x_5[251:248],i_di[11:8]),
    mul(i_x_5[247:244],i_di[11:8]),
    mul(i_x_5[243:240],i_di[11:8]),
    mul(i_x_5[239:236],i_di[11:8]),
    mul(i_x_5[235:232],i_di[11:8]),
    mul(i_x_5[231:228],i_di[11:8]),
    mul(i_x_5[227:224],i_di[11:8]),
    mul(i_x_5[223:220],i_di[11:8]),
    mul(i_x_5[219:216],i_di[11:8]),
    mul(i_x_5[215:212],i_di[11:8]),
    mul(i_x_5[211:208],i_di[11:8]),
    mul(i_x_5[207:204],i_di[11:8]),
    mul(i_x_5[203:200],i_di[11:8]),
    mul(i_x_5[199:196],i_di[11:8]),
    mul(i_x_5[195:192],i_di[11:8]),
    mul(i_x_5[191:188],i_di[11:8]),
    mul(i_x_5[187:184],i_di[11:8]),
    mul(i_x_5[183:180],i_di[11:8]),
    mul(i_x_5[179:176],i_di[11:8]),
    mul(i_x_5[175:172],i_di[11:8]),
    mul(i_x_5[171:168],i_di[11:8]),
    mul(i_x_5[167:164],i_di[11:8]),
    mul(i_x_5[163:160],i_di[11:8]),
    mul(i_x_5[159:156],i_di[11:8]),
    mul(i_x_5[155:152],i_di[11:8]),
    mul(i_x_5[151:148],i_di[11:8]),
    mul(i_x_5[147:144],i_di[11:8]),
    mul(i_x_5[143:140],i_di[11:8]),
    mul(i_x_5[139:136],i_di[11:8]),
    mul(i_x_5[135:132],i_di[11:8]),
    mul(i_x_5[131:128],i_di[11:8]),
    mul(i_x_5[127:124],i_di[11:8]),
    mul(i_x_5[123:120],i_di[11:8]),
    mul(i_x_5[119:116],i_di[11:8]),
    mul(i_x_5[115:112],i_di[11:8]),
    mul(i_x_5[111:108],i_di[11:8]),
    mul(i_x_5[107:104],i_di[11:8]),
    mul(i_x_5[103:100],i_di[11:8]),
    mul(i_x_5[99:96]  ,i_di[11:8]),
    mul(i_x_5[95:92]  ,i_di[11:8]),
    mul(i_x_5[91:88]  ,i_di[11:8]),
    mul(i_x_5[87:84]  ,i_di[11:8]),
    mul(i_x_5[83:80]  ,i_di[11:8]),
    mul(i_x_5[79:76]  ,i_di[11:8]),
    mul(i_x_5[75:72]  ,i_di[11:8]),
    mul(i_x_5[71:68]  ,i_di[11:8]),
    mul(i_x_5[67:64]  ,i_di[11:8]),
    mul(i_x_5[63:60]  ,i_di[11:8]),
    mul(i_x_5[59:56]  ,i_di[11:8]),
    mul(i_x_5[55:52]  ,i_di[11:8]),
    mul(i_x_5[51:48]  ,i_di[11:8]),
    mul(i_x_5[47:44]  ,i_di[11:8]),
    mul(i_x_5[43:40]  ,i_di[11:8]),
    mul(i_x_5[39:36]  ,i_di[11:8]),
    mul(i_x_5[35:32]  ,i_di[11:8]),
    mul(i_x_5[31:28]  ,i_di[11:8]),
    mul(i_x_5[27:24]  ,i_di[11:8]),
    mul(i_x_5[23:20]  ,i_di[11:8]),
    mul(i_x_5[19:16]  ,i_di[11:8]),
    mul(i_x_5[15:12]  ,i_di[11:8]),
    mul(i_x_5[11:8]   ,i_di[11:8]),
    mul(i_x_5[7:4]    ,i_di[11:8]),
    mul(i_x_5[3:0]    ,i_di[11:8])
};
assign o_xs_6 = {
    mul(i_x_6[767:764],i_di[7:4]),
    mul(i_x_6[763:760],i_di[7:4]),
    mul(i_x_6[759:756],i_di[7:4]),
    mul(i_x_6[755:752],i_di[7:4]),
    mul(i_x_6[751:748],i_di[7:4]),
    mul(i_x_6[747:744],i_di[7:4]),
    mul(i_x_6[743:740],i_di[7:4]),
    mul(i_x_6[739:736],i_di[7:4]),
    mul(i_x_6[735:732],i_di[7:4]),
    mul(i_x_6[731:728],i_di[7:4]),
    mul(i_x_6[727:724],i_di[7:4]),
    mul(i_x_6[723:720],i_di[7:4]),
    mul(i_x_6[719:716],i_di[7:4]),
    mul(i_x_6[715:712],i_di[7:4]),
    mul(i_x_6[711:708],i_di[7:4]),
    mul(i_x_6[707:704],i_di[7:4]),
    mul(i_x_6[703:700],i_di[7:4]),
    mul(i_x_6[699:696],i_di[7:4]),
    mul(i_x_6[695:692],i_di[7:4]),
    mul(i_x_6[691:688],i_di[7:4]),
    mul(i_x_6[687:684],i_di[7:4]),
    mul(i_x_6[683:680],i_di[7:4]),
    mul(i_x_6[679:676],i_di[7:4]),
    mul(i_x_6[675:672],i_di[7:4]),
    mul(i_x_6[671:668],i_di[7:4]),
    mul(i_x_6[667:664],i_di[7:4]),
    mul(i_x_6[663:660],i_di[7:4]),
    mul(i_x_6[659:656],i_di[7:4]),
    mul(i_x_6[655:652],i_di[7:4]),
    mul(i_x_6[651:648],i_di[7:4]),
    mul(i_x_6[647:644],i_di[7:4]),
    mul(i_x_6[643:640],i_di[7:4]),
    mul(i_x_6[639:636],i_di[7:4]),
    mul(i_x_6[635:632],i_di[7:4]),
    mul(i_x_6[631:628],i_di[7:4]),
    mul(i_x_6[627:624],i_di[7:4]),
    mul(i_x_6[623:620],i_di[7:4]),
    mul(i_x_6[619:616],i_di[7:4]),
    mul(i_x_6[615:612],i_di[7:4]),
    mul(i_x_6[611:608],i_di[7:4]),
    mul(i_x_6[607:604],i_di[7:4]),
    mul(i_x_6[603:600],i_di[7:4]),
    mul(i_x_6[599:596],i_di[7:4]),
    mul(i_x_6[595:592],i_di[7:4]),
    mul(i_x_6[591:588],i_di[7:4]),
    mul(i_x_6[587:584],i_di[7:4]),
    mul(i_x_6[583:580],i_di[7:4]),
    mul(i_x_6[579:576],i_di[7:4]),
    mul(i_x_6[575:572],i_di[7:4]),
    mul(i_x_6[571:568],i_di[7:4]),
    mul(i_x_6[567:564],i_di[7:4]),
    mul(i_x_6[563:560],i_di[7:4]),
    mul(i_x_6[559:556],i_di[7:4]),
    mul(i_x_6[555:552],i_di[7:4]),
    mul(i_x_6[551:548],i_di[7:4]),
    mul(i_x_6[547:544],i_di[7:4]),
    mul(i_x_6[543:540],i_di[7:4]),
    mul(i_x_6[539:536],i_di[7:4]),
    mul(i_x_6[535:532],i_di[7:4]),
    mul(i_x_6[531:528],i_di[7:4]),
    mul(i_x_6[527:524],i_di[7:4]),
    mul(i_x_6[523:520],i_di[7:4]),
    mul(i_x_6[519:516],i_di[7:4]),
    mul(i_x_6[515:512],i_di[7:4]),
    mul(i_x_6[511:508],i_di[7:4]),
    mul(i_x_6[507:504],i_di[7:4]),
    mul(i_x_6[503:500],i_di[7:4]),
    mul(i_x_6[499:496],i_di[7:4]),
    mul(i_x_6[495:492],i_di[7:4]),
    mul(i_x_6[491:488],i_di[7:4]),
    mul(i_x_6[487:484],i_di[7:4]),
    mul(i_x_6[483:480],i_di[7:4]),
    mul(i_x_6[479:476],i_di[7:4]),
    mul(i_x_6[475:472],i_di[7:4]),
    mul(i_x_6[471:468],i_di[7:4]),
    mul(i_x_6[467:464],i_di[7:4]),
    mul(i_x_6[463:460],i_di[7:4]),
    mul(i_x_6[459:456],i_di[7:4]),
    mul(i_x_6[455:452],i_di[7:4]),
    mul(i_x_6[451:448],i_di[7:4]),
    mul(i_x_6[447:444],i_di[7:4]),
    mul(i_x_6[443:440],i_di[7:4]),
    mul(i_x_6[439:436],i_di[7:4]),
    mul(i_x_6[435:432],i_di[7:4]),
    mul(i_x_6[431:428],i_di[7:4]),
    mul(i_x_6[427:424],i_di[7:4]),
    mul(i_x_6[423:420],i_di[7:4]),
    mul(i_x_6[419:416],i_di[7:4]),
    mul(i_x_6[415:412],i_di[7:4]),
    mul(i_x_6[411:408],i_di[7:4]),
    mul(i_x_6[407:404],i_di[7:4]),
    mul(i_x_6[403:400],i_di[7:4]),
    mul(i_x_6[399:396],i_di[7:4]),
    mul(i_x_6[395:392],i_di[7:4]),
    mul(i_x_6[391:388],i_di[7:4]),
    mul(i_x_6[387:384],i_di[7:4]),
    mul(i_x_6[383:380],i_di[7:4]),
    mul(i_x_6[379:376],i_di[7:4]),
    mul(i_x_6[375:372],i_di[7:4]),
    mul(i_x_6[371:368],i_di[7:4]),
    mul(i_x_6[367:364],i_di[7:4]),
    mul(i_x_6[363:360],i_di[7:4]),
    mul(i_x_6[359:356],i_di[7:4]),
    mul(i_x_6[355:352],i_di[7:4]),
    mul(i_x_6[351:348],i_di[7:4]),
    mul(i_x_6[347:344],i_di[7:4]),
    mul(i_x_6[343:340],i_di[7:4]),
    mul(i_x_6[339:336],i_di[7:4]),
    mul(i_x_6[335:332],i_di[7:4]),
    mul(i_x_6[331:328],i_di[7:4]),
    mul(i_x_6[327:324],i_di[7:4]),
    mul(i_x_6[323:320],i_di[7:4]),
    mul(i_x_6[319:316],i_di[7:4]),
    mul(i_x_6[315:312],i_di[7:4]),
    mul(i_x_6[311:308],i_di[7:4]),
    mul(i_x_6[307:304],i_di[7:4]),
    mul(i_x_6[303:300],i_di[7:4]),
    mul(i_x_6[299:296],i_di[7:4]),
    mul(i_x_6[295:292],i_di[7:4]),
    mul(i_x_6[291:288],i_di[7:4]),
    mul(i_x_6[287:284],i_di[7:4]),
    mul(i_x_6[283:280],i_di[7:4]),
    mul(i_x_6[279:276],i_di[7:4]),
    mul(i_x_6[275:272],i_di[7:4]),
    mul(i_x_6[271:268],i_di[7:4]),
    mul(i_x_6[267:264],i_di[7:4]),
    mul(i_x_6[263:260],i_di[7:4]),
    mul(i_x_6[259:256],i_di[7:4]),
    mul(i_x_6[255:252],i_di[7:4]),
    mul(i_x_6[251:248],i_di[7:4]),
    mul(i_x_6[247:244],i_di[7:4]),
    mul(i_x_6[243:240],i_di[7:4]),
    mul(i_x_6[239:236],i_di[7:4]),
    mul(i_x_6[235:232],i_di[7:4]),
    mul(i_x_6[231:228],i_di[7:4]),
    mul(i_x_6[227:224],i_di[7:4]),
    mul(i_x_6[223:220],i_di[7:4]),
    mul(i_x_6[219:216],i_di[7:4]),
    mul(i_x_6[215:212],i_di[7:4]),
    mul(i_x_6[211:208],i_di[7:4]),
    mul(i_x_6[207:204],i_di[7:4]),
    mul(i_x_6[203:200],i_di[7:4]),
    mul(i_x_6[199:196],i_di[7:4]),
    mul(i_x_6[195:192],i_di[7:4]),
    mul(i_x_6[191:188],i_di[7:4]),
    mul(i_x_6[187:184],i_di[7:4]),
    mul(i_x_6[183:180],i_di[7:4]),
    mul(i_x_6[179:176],i_di[7:4]),
    mul(i_x_6[175:172],i_di[7:4]),
    mul(i_x_6[171:168],i_di[7:4]),
    mul(i_x_6[167:164],i_di[7:4]),
    mul(i_x_6[163:160],i_di[7:4]),
    mul(i_x_6[159:156],i_di[7:4]),
    mul(i_x_6[155:152],i_di[7:4]),
    mul(i_x_6[151:148],i_di[7:4]),
    mul(i_x_6[147:144],i_di[7:4]),
    mul(i_x_6[143:140],i_di[7:4]),
    mul(i_x_6[139:136],i_di[7:4]),
    mul(i_x_6[135:132],i_di[7:4]),
    mul(i_x_6[131:128],i_di[7:4]),
    mul(i_x_6[127:124],i_di[7:4]),
    mul(i_x_6[123:120],i_di[7:4]),
    mul(i_x_6[119:116],i_di[7:4]),
    mul(i_x_6[115:112],i_di[7:4]),
    mul(i_x_6[111:108],i_di[7:4]),
    mul(i_x_6[107:104],i_di[7:4]),
    mul(i_x_6[103:100],i_di[7:4]),
    mul(i_x_6[99:96]  ,i_di[7:4]),
    mul(i_x_6[95:92]  ,i_di[7:4]),
    mul(i_x_6[91:88]  ,i_di[7:4]),
    mul(i_x_6[87:84]  ,i_di[7:4]),
    mul(i_x_6[83:80]  ,i_di[7:4]),
    mul(i_x_6[79:76]  ,i_di[7:4]),
    mul(i_x_6[75:72]  ,i_di[7:4]),
    mul(i_x_6[71:68]  ,i_di[7:4]),
    mul(i_x_6[67:64]  ,i_di[7:4]),
    mul(i_x_6[63:60]  ,i_di[7:4]),
    mul(i_x_6[59:56]  ,i_di[7:4]),
    mul(i_x_6[55:52]  ,i_di[7:4]),
    mul(i_x_6[51:48]  ,i_di[7:4]),
    mul(i_x_6[47:44]  ,i_di[7:4]),
    mul(i_x_6[43:40]  ,i_di[7:4]),
    mul(i_x_6[39:36]  ,i_di[7:4]),
    mul(i_x_6[35:32]  ,i_di[7:4]),
    mul(i_x_6[31:28]  ,i_di[7:4]),
    mul(i_x_6[27:24]  ,i_di[7:4]),
    mul(i_x_6[23:20]  ,i_di[7:4]),
    mul(i_x_6[19:16]  ,i_di[7:4]),
    mul(i_x_6[15:12]  ,i_di[7:4]),
    mul(i_x_6[11:8]   ,i_di[7:4]),
    mul(i_x_6[7:4]    ,i_di[7:4]),
    mul(i_x_6[3:0]    ,i_di[7:4])
};
assign o_xs_7 = {
    mul(i_x_7[767:764],i_di[3:0]),
    mul(i_x_7[763:760],i_di[3:0]),
    mul(i_x_7[759:756],i_di[3:0]),
    mul(i_x_7[755:752],i_di[3:0]),
    mul(i_x_7[751:748],i_di[3:0]),
    mul(i_x_7[747:744],i_di[3:0]),
    mul(i_x_7[743:740],i_di[3:0]),
    mul(i_x_7[739:736],i_di[3:0]),
    mul(i_x_7[735:732],i_di[3:0]),
    mul(i_x_7[731:728],i_di[3:0]),
    mul(i_x_7[727:724],i_di[3:0]),
    mul(i_x_7[723:720],i_di[3:0]),
    mul(i_x_7[719:716],i_di[3:0]),
    mul(i_x_7[715:712],i_di[3:0]),
    mul(i_x_7[711:708],i_di[3:0]),
    mul(i_x_7[707:704],i_di[3:0]),
    mul(i_x_7[703:700],i_di[3:0]),
    mul(i_x_7[699:696],i_di[3:0]),
    mul(i_x_7[695:692],i_di[3:0]),
    mul(i_x_7[691:688],i_di[3:0]),
    mul(i_x_7[687:684],i_di[3:0]),
    mul(i_x_7[683:680],i_di[3:0]),
    mul(i_x_7[679:676],i_di[3:0]),
    mul(i_x_7[675:672],i_di[3:0]),
    mul(i_x_7[671:668],i_di[3:0]),
    mul(i_x_7[667:664],i_di[3:0]),
    mul(i_x_7[663:660],i_di[3:0]),
    mul(i_x_7[659:656],i_di[3:0]),
    mul(i_x_7[655:652],i_di[3:0]),
    mul(i_x_7[651:648],i_di[3:0]),
    mul(i_x_7[647:644],i_di[3:0]),
    mul(i_x_7[643:640],i_di[3:0]),
    mul(i_x_7[639:636],i_di[3:0]),
    mul(i_x_7[635:632],i_di[3:0]),
    mul(i_x_7[631:628],i_di[3:0]),
    mul(i_x_7[627:624],i_di[3:0]),
    mul(i_x_7[623:620],i_di[3:0]),
    mul(i_x_7[619:616],i_di[3:0]),
    mul(i_x_7[615:612],i_di[3:0]),
    mul(i_x_7[611:608],i_di[3:0]),
    mul(i_x_7[607:604],i_di[3:0]),
    mul(i_x_7[603:600],i_di[3:0]),
    mul(i_x_7[599:596],i_di[3:0]),
    mul(i_x_7[595:592],i_di[3:0]),
    mul(i_x_7[591:588],i_di[3:0]),
    mul(i_x_7[587:584],i_di[3:0]),
    mul(i_x_7[583:580],i_di[3:0]),
    mul(i_x_7[579:576],i_di[3:0]),
    mul(i_x_7[575:572],i_di[3:0]),
    mul(i_x_7[571:568],i_di[3:0]),
    mul(i_x_7[567:564],i_di[3:0]),
    mul(i_x_7[563:560],i_di[3:0]),
    mul(i_x_7[559:556],i_di[3:0]),
    mul(i_x_7[555:552],i_di[3:0]),
    mul(i_x_7[551:548],i_di[3:0]),
    mul(i_x_7[547:544],i_di[3:0]),
    mul(i_x_7[543:540],i_di[3:0]),
    mul(i_x_7[539:536],i_di[3:0]),
    mul(i_x_7[535:532],i_di[3:0]),
    mul(i_x_7[531:528],i_di[3:0]),
    mul(i_x_7[527:524],i_di[3:0]),
    mul(i_x_7[523:520],i_di[3:0]),
    mul(i_x_7[519:516],i_di[3:0]),
    mul(i_x_7[515:512],i_di[3:0]),
    mul(i_x_7[511:508],i_di[3:0]),
    mul(i_x_7[507:504],i_di[3:0]),
    mul(i_x_7[503:500],i_di[3:0]),
    mul(i_x_7[499:496],i_di[3:0]),
    mul(i_x_7[495:492],i_di[3:0]),
    mul(i_x_7[491:488],i_di[3:0]),
    mul(i_x_7[487:484],i_di[3:0]),
    mul(i_x_7[483:480],i_di[3:0]),
    mul(i_x_7[479:476],i_di[3:0]),
    mul(i_x_7[475:472],i_di[3:0]),
    mul(i_x_7[471:468],i_di[3:0]),
    mul(i_x_7[467:464],i_di[3:0]),
    mul(i_x_7[463:460],i_di[3:0]),
    mul(i_x_7[459:456],i_di[3:0]),
    mul(i_x_7[455:452],i_di[3:0]),
    mul(i_x_7[451:448],i_di[3:0]),
    mul(i_x_7[447:444],i_di[3:0]),
    mul(i_x_7[443:440],i_di[3:0]),
    mul(i_x_7[439:436],i_di[3:0]),
    mul(i_x_7[435:432],i_di[3:0]),
    mul(i_x_7[431:428],i_di[3:0]),
    mul(i_x_7[427:424],i_di[3:0]),
    mul(i_x_7[423:420],i_di[3:0]),
    mul(i_x_7[419:416],i_di[3:0]),
    mul(i_x_7[415:412],i_di[3:0]),
    mul(i_x_7[411:408],i_di[3:0]),
    mul(i_x_7[407:404],i_di[3:0]),
    mul(i_x_7[403:400],i_di[3:0]),
    mul(i_x_7[399:396],i_di[3:0]),
    mul(i_x_7[395:392],i_di[3:0]),
    mul(i_x_7[391:388],i_di[3:0]),
    mul(i_x_7[387:384],i_di[3:0]),
    mul(i_x_7[383:380],i_di[3:0]),
    mul(i_x_7[379:376],i_di[3:0]),
    mul(i_x_7[375:372],i_di[3:0]),
    mul(i_x_7[371:368],i_di[3:0]),
    mul(i_x_7[367:364],i_di[3:0]),
    mul(i_x_7[363:360],i_di[3:0]),
    mul(i_x_7[359:356],i_di[3:0]),
    mul(i_x_7[355:352],i_di[3:0]),
    mul(i_x_7[351:348],i_di[3:0]),
    mul(i_x_7[347:344],i_di[3:0]),
    mul(i_x_7[343:340],i_di[3:0]),
    mul(i_x_7[339:336],i_di[3:0]),
    mul(i_x_7[335:332],i_di[3:0]),
    mul(i_x_7[331:328],i_di[3:0]),
    mul(i_x_7[327:324],i_di[3:0]),
    mul(i_x_7[323:320],i_di[3:0]),
    mul(i_x_7[319:316],i_di[3:0]),
    mul(i_x_7[315:312],i_di[3:0]),
    mul(i_x_7[311:308],i_di[3:0]),
    mul(i_x_7[307:304],i_di[3:0]),
    mul(i_x_7[303:300],i_di[3:0]),
    mul(i_x_7[299:296],i_di[3:0]),
    mul(i_x_7[295:292],i_di[3:0]),
    mul(i_x_7[291:288],i_di[3:0]),
    mul(i_x_7[287:284],i_di[3:0]),
    mul(i_x_7[283:280],i_di[3:0]),
    mul(i_x_7[279:276],i_di[3:0]),
    mul(i_x_7[275:272],i_di[3:0]),
    mul(i_x_7[271:268],i_di[3:0]),
    mul(i_x_7[267:264],i_di[3:0]),
    mul(i_x_7[263:260],i_di[3:0]),
    mul(i_x_7[259:256],i_di[3:0]),
    mul(i_x_7[255:252],i_di[3:0]),
    mul(i_x_7[251:248],i_di[3:0]),
    mul(i_x_7[247:244],i_di[3:0]),
    mul(i_x_7[243:240],i_di[3:0]),
    mul(i_x_7[239:236],i_di[3:0]),
    mul(i_x_7[235:232],i_di[3:0]),
    mul(i_x_7[231:228],i_di[3:0]),
    mul(i_x_7[227:224],i_di[3:0]),
    mul(i_x_7[223:220],i_di[3:0]),
    mul(i_x_7[219:216],i_di[3:0]),
    mul(i_x_7[215:212],i_di[3:0]),
    mul(i_x_7[211:208],i_di[3:0]),
    mul(i_x_7[207:204],i_di[3:0]),
    mul(i_x_7[203:200],i_di[3:0]),
    mul(i_x_7[199:196],i_di[3:0]),
    mul(i_x_7[195:192],i_di[3:0]),
    mul(i_x_7[191:188],i_di[3:0]),
    mul(i_x_7[187:184],i_di[3:0]),
    mul(i_x_7[183:180],i_di[3:0]),
    mul(i_x_7[179:176],i_di[3:0]),
    mul(i_x_7[175:172],i_di[3:0]),
    mul(i_x_7[171:168],i_di[3:0]),
    mul(i_x_7[167:164],i_di[3:0]),
    mul(i_x_7[163:160],i_di[3:0]),
    mul(i_x_7[159:156],i_di[3:0]),
    mul(i_x_7[155:152],i_di[3:0]),
    mul(i_x_7[151:148],i_di[3:0]),
    mul(i_x_7[147:144],i_di[3:0]),
    mul(i_x_7[143:140],i_di[3:0]),
    mul(i_x_7[139:136],i_di[3:0]),
    mul(i_x_7[135:132],i_di[3:0]),
    mul(i_x_7[131:128],i_di[3:0]),
    mul(i_x_7[127:124],i_di[3:0]),
    mul(i_x_7[123:120],i_di[3:0]),
    mul(i_x_7[119:116],i_di[3:0]),
    mul(i_x_7[115:112],i_di[3:0]),
    mul(i_x_7[111:108],i_di[3:0]),
    mul(i_x_7[107:104],i_di[3:0]),
    mul(i_x_7[103:100],i_di[3:0]),
    mul(i_x_7[99:96]  ,i_di[3:0]),
    mul(i_x_7[95:92]  ,i_di[3:0]),
    mul(i_x_7[91:88]  ,i_di[3:0]),
    mul(i_x_7[87:84]  ,i_di[3:0]),
    mul(i_x_7[83:80]  ,i_di[3:0]),
    mul(i_x_7[79:76]  ,i_di[3:0]),
    mul(i_x_7[75:72]  ,i_di[3:0]),
    mul(i_x_7[71:68]  ,i_di[3:0]),
    mul(i_x_7[67:64]  ,i_di[3:0]),
    mul(i_x_7[63:60]  ,i_di[3:0]),
    mul(i_x_7[59:56]  ,i_di[3:0]),
    mul(i_x_7[55:52]  ,i_di[3:0]),
    mul(i_x_7[51:48]  ,i_di[3:0]),
    mul(i_x_7[47:44]  ,i_di[3:0]),
    mul(i_x_7[43:40]  ,i_di[3:0]),
    mul(i_x_7[39:36]  ,i_di[3:0]),
    mul(i_x_7[35:32]  ,i_di[3:0]),
    mul(i_x_7[31:28]  ,i_di[3:0]),
    mul(i_x_7[27:24]  ,i_di[3:0]),
    mul(i_x_7[23:20]  ,i_di[3:0]),
    mul(i_x_7[19:16]  ,i_di[3:0]),
    mul(i_x_7[15:12]  ,i_di[3:0]),
    mul(i_x_7[11:8]   ,i_di[3:0]),
    mul(i_x_7[7:4]    ,i_di[3:0]),
    mul(i_x_7[3:0]    ,i_di[3:0])
};

assign o_ls_0 = {
    mul(i_l_0[255:252],i_di[31:28]),
    mul(i_l_0[251:248],i_di[31:28]),
    mul(i_l_0[247:244],i_di[31:28]),
    mul(i_l_0[243:240],i_di[31:28]),
    mul(i_l_0[239:236],i_di[31:28]),
    mul(i_l_0[235:232],i_di[31:28]),
    mul(i_l_0[231:228],i_di[31:28]),
    mul(i_l_0[227:224],i_di[31:28]),
    mul(i_l_0[223:220],i_di[31:28]),
    mul(i_l_0[219:216],i_di[31:28]),
    mul(i_l_0[215:212],i_di[31:28]),
    mul(i_l_0[211:208],i_di[31:28]),
    mul(i_l_0[207:204],i_di[31:28]),
    mul(i_l_0[203:200],i_di[31:28]),
    mul(i_l_0[199:196],i_di[31:28]),
    mul(i_l_0[195:192],i_di[31:28]),
    mul(i_l_0[191:188],i_di[31:28]),
    mul(i_l_0[187:184],i_di[31:28]),
    mul(i_l_0[183:180],i_di[31:28]),
    mul(i_l_0[179:176],i_di[31:28]),
    mul(i_l_0[175:172],i_di[31:28]),
    mul(i_l_0[171:168],i_di[31:28]),
    mul(i_l_0[167:164],i_di[31:28]),
    mul(i_l_0[163:160],i_di[31:28]),
    mul(i_l_0[159:156],i_di[31:28]),
    mul(i_l_0[155:152],i_di[31:28]),
    mul(i_l_0[151:148],i_di[31:28]),
    mul(i_l_0[147:144],i_di[31:28]),
    mul(i_l_0[143:140],i_di[31:28]),
    mul(i_l_0[139:136],i_di[31:28]),
    mul(i_l_0[135:132],i_di[31:28]),
    mul(i_l_0[131:128],i_di[31:28]),
    mul(i_l_0[127:124],i_di[31:28]),
    mul(i_l_0[123:120],i_di[31:28]),
    mul(i_l_0[119:116],i_di[31:28]),
    mul(i_l_0[115:112],i_di[31:28]),
    mul(i_l_0[111:108],i_di[31:28]),
    mul(i_l_0[107:104],i_di[31:28]),
    mul(i_l_0[103:100],i_di[31:28]),
    mul(i_l_0[99:96]  ,i_di[31:28]),
    mul(i_l_0[95:92]  ,i_di[31:28]),
    mul(i_l_0[91:88]  ,i_di[31:28]),
    mul(i_l_0[87:84]  ,i_di[31:28]),
    mul(i_l_0[83:80]  ,i_di[31:28]),
    mul(i_l_0[79:76]  ,i_di[31:28]),
    mul(i_l_0[75:72]  ,i_di[31:28]),
    mul(i_l_0[71:68]  ,i_di[31:28]),
    mul(i_l_0[67:64]  ,i_di[31:28]),
    mul(i_l_0[63:60]  ,i_di[31:28]),
    mul(i_l_0[59:56]  ,i_di[31:28]),
    mul(i_l_0[55:52]  ,i_di[31:28]),
    mul(i_l_0[51:48]  ,i_di[31:28]),
    mul(i_l_0[47:44]  ,i_di[31:28]),
    mul(i_l_0[43:40]  ,i_di[31:28]),
    mul(i_l_0[39:36]  ,i_di[31:28]),
    mul(i_l_0[35:32]  ,i_di[31:28]),
    mul(i_l_0[31:28]  ,i_di[31:28]),
    mul(i_l_0[27:24]  ,i_di[31:28]),
    mul(i_l_0[23:20]  ,i_di[31:28]),
    mul(i_l_0[19:16]  ,i_di[31:28]),
    mul(i_l_0[15:12]  ,i_di[31:28]),
    mul(i_l_0[11:8]   ,i_di[31:28]),
    mul(i_l_0[7:4]    ,i_di[31:28]),
    mul(i_l_0[3:0]    ,i_di[31:28])
};
assign o_ls_1 = {
    mul(i_l_1[255:252],i_di[27:24]),
    mul(i_l_1[251:248],i_di[27:24]),
    mul(i_l_1[247:244],i_di[27:24]),
    mul(i_l_1[243:240],i_di[27:24]),
    mul(i_l_1[239:236],i_di[27:24]),
    mul(i_l_1[235:232],i_di[27:24]),
    mul(i_l_1[231:228],i_di[27:24]),
    mul(i_l_1[227:224],i_di[27:24]),
    mul(i_l_1[223:220],i_di[27:24]),
    mul(i_l_1[219:216],i_di[27:24]),
    mul(i_l_1[215:212],i_di[27:24]),
    mul(i_l_1[211:208],i_di[27:24]),
    mul(i_l_1[207:204],i_di[27:24]),
    mul(i_l_1[203:200],i_di[27:24]),
    mul(i_l_1[199:196],i_di[27:24]),
    mul(i_l_1[195:192],i_di[27:24]),
    mul(i_l_1[191:188],i_di[27:24]),
    mul(i_l_1[187:184],i_di[27:24]),
    mul(i_l_1[183:180],i_di[27:24]),
    mul(i_l_1[179:176],i_di[27:24]),
    mul(i_l_1[175:172],i_di[27:24]),
    mul(i_l_1[171:168],i_di[27:24]),
    mul(i_l_1[167:164],i_di[27:24]),
    mul(i_l_1[163:160],i_di[27:24]),
    mul(i_l_1[159:156],i_di[27:24]),
    mul(i_l_1[155:152],i_di[27:24]),
    mul(i_l_1[151:148],i_di[27:24]),
    mul(i_l_1[147:144],i_di[27:24]),
    mul(i_l_1[143:140],i_di[27:24]),
    mul(i_l_1[139:136],i_di[27:24]),
    mul(i_l_1[135:132],i_di[27:24]),
    mul(i_l_1[131:128],i_di[27:24]),
    mul(i_l_1[127:124],i_di[27:24]),
    mul(i_l_1[123:120],i_di[27:24]),
    mul(i_l_1[119:116],i_di[27:24]),
    mul(i_l_1[115:112],i_di[27:24]),
    mul(i_l_1[111:108],i_di[27:24]),
    mul(i_l_1[107:104],i_di[27:24]),
    mul(i_l_1[103:100],i_di[27:24]),
    mul(i_l_1[99:96]  ,i_di[27:24]),
    mul(i_l_1[95:92]  ,i_di[27:24]),
    mul(i_l_1[91:88]  ,i_di[27:24]),
    mul(i_l_1[87:84]  ,i_di[27:24]),
    mul(i_l_1[83:80]  ,i_di[27:24]),
    mul(i_l_1[79:76]  ,i_di[27:24]),
    mul(i_l_1[75:72]  ,i_di[27:24]),
    mul(i_l_1[71:68]  ,i_di[27:24]),
    mul(i_l_1[67:64]  ,i_di[27:24]),
    mul(i_l_1[63:60]  ,i_di[27:24]),
    mul(i_l_1[59:56]  ,i_di[27:24]),
    mul(i_l_1[55:52]  ,i_di[27:24]),
    mul(i_l_1[51:48]  ,i_di[27:24]),
    mul(i_l_1[47:44]  ,i_di[27:24]),
    mul(i_l_1[43:40]  ,i_di[27:24]),
    mul(i_l_1[39:36]  ,i_di[27:24]),
    mul(i_l_1[35:32]  ,i_di[27:24]),
    mul(i_l_1[31:28]  ,i_di[27:24]),
    mul(i_l_1[27:24]  ,i_di[27:24]),
    mul(i_l_1[23:20]  ,i_di[27:24]),
    mul(i_l_1[19:16]  ,i_di[27:24]),
    mul(i_l_1[15:12]  ,i_di[27:24]),
    mul(i_l_1[11:8]   ,i_di[27:24]),
    mul(i_l_1[7:4]    ,i_di[27:24]),
    mul(i_l_1[3:0]    ,i_di[27:24])
};
assign o_ls_2 = {
    mul(i_l_2[255:252],i_di[23:20]),
    mul(i_l_2[251:248],i_di[23:20]),
    mul(i_l_2[247:244],i_di[23:20]),
    mul(i_l_2[243:240],i_di[23:20]),
    mul(i_l_2[239:236],i_di[23:20]),
    mul(i_l_2[235:232],i_di[23:20]),
    mul(i_l_2[231:228],i_di[23:20]),
    mul(i_l_2[227:224],i_di[23:20]),
    mul(i_l_2[223:220],i_di[23:20]),
    mul(i_l_2[219:216],i_di[23:20]),
    mul(i_l_2[215:212],i_di[23:20]),
    mul(i_l_2[211:208],i_di[23:20]),
    mul(i_l_2[207:204],i_di[23:20]),
    mul(i_l_2[203:200],i_di[23:20]),
    mul(i_l_2[199:196],i_di[23:20]),
    mul(i_l_2[195:192],i_di[23:20]),
    mul(i_l_2[191:188],i_di[23:20]),
    mul(i_l_2[187:184],i_di[23:20]),
    mul(i_l_2[183:180],i_di[23:20]),
    mul(i_l_2[179:176],i_di[23:20]),
    mul(i_l_2[175:172],i_di[23:20]),
    mul(i_l_2[171:168],i_di[23:20]),
    mul(i_l_2[167:164],i_di[23:20]),
    mul(i_l_2[163:160],i_di[23:20]),
    mul(i_l_2[159:156],i_di[23:20]),
    mul(i_l_2[155:152],i_di[23:20]),
    mul(i_l_2[151:148],i_di[23:20]),
    mul(i_l_2[147:144],i_di[23:20]),
    mul(i_l_2[143:140],i_di[23:20]),
    mul(i_l_2[139:136],i_di[23:20]),
    mul(i_l_2[135:132],i_di[23:20]),
    mul(i_l_2[131:128],i_di[23:20]),
    mul(i_l_2[127:124],i_di[23:20]),
    mul(i_l_2[123:120],i_di[23:20]),
    mul(i_l_2[119:116],i_di[23:20]),
    mul(i_l_2[115:112],i_di[23:20]),
    mul(i_l_2[111:108],i_di[23:20]),
    mul(i_l_2[107:104],i_di[23:20]),
    mul(i_l_2[103:100],i_di[23:20]),
    mul(i_l_2[99:96]  ,i_di[23:20]),
    mul(i_l_2[95:92]  ,i_di[23:20]),
    mul(i_l_2[91:88]  ,i_di[23:20]),
    mul(i_l_2[87:84]  ,i_di[23:20]),
    mul(i_l_2[83:80]  ,i_di[23:20]),
    mul(i_l_2[79:76]  ,i_di[23:20]),
    mul(i_l_2[75:72]  ,i_di[23:20]),
    mul(i_l_2[71:68]  ,i_di[23:20]),
    mul(i_l_2[67:64]  ,i_di[23:20]),
    mul(i_l_2[63:60]  ,i_di[23:20]),
    mul(i_l_2[59:56]  ,i_di[23:20]),
    mul(i_l_2[55:52]  ,i_di[23:20]),
    mul(i_l_2[51:48]  ,i_di[23:20]),
    mul(i_l_2[47:44]  ,i_di[23:20]),
    mul(i_l_2[43:40]  ,i_di[23:20]),
    mul(i_l_2[39:36]  ,i_di[23:20]),
    mul(i_l_2[35:32]  ,i_di[23:20]),
    mul(i_l_2[31:28]  ,i_di[23:20]),
    mul(i_l_2[27:24]  ,i_di[23:20]),
    mul(i_l_2[23:20]  ,i_di[23:20]),
    mul(i_l_2[19:16]  ,i_di[23:20]),
    mul(i_l_2[15:12]  ,i_di[23:20]),
    mul(i_l_2[11:8]   ,i_di[23:20]),
    mul(i_l_2[7:4]    ,i_di[23:20]),
    mul(i_l_2[3:0]    ,i_di[23:20])
};
assign o_ls_3 = {
    mul(i_l_3[255:252],i_di[19:16]),
    mul(i_l_3[251:248],i_di[19:16]),
    mul(i_l_3[247:244],i_di[19:16]),
    mul(i_l_3[243:240],i_di[19:16]),
    mul(i_l_3[239:236],i_di[19:16]),
    mul(i_l_3[235:232],i_di[19:16]),
    mul(i_l_3[231:228],i_di[19:16]),
    mul(i_l_3[227:224],i_di[19:16]),
    mul(i_l_3[223:220],i_di[19:16]),
    mul(i_l_3[219:216],i_di[19:16]),
    mul(i_l_3[215:212],i_di[19:16]),
    mul(i_l_3[211:208],i_di[19:16]),
    mul(i_l_3[207:204],i_di[19:16]),
    mul(i_l_3[203:200],i_di[19:16]),
    mul(i_l_3[199:196],i_di[19:16]),
    mul(i_l_3[195:192],i_di[19:16]),
    mul(i_l_3[191:188],i_di[19:16]),
    mul(i_l_3[187:184],i_di[19:16]),
    mul(i_l_3[183:180],i_di[19:16]),
    mul(i_l_3[179:176],i_di[19:16]),
    mul(i_l_3[175:172],i_di[19:16]),
    mul(i_l_3[171:168],i_di[19:16]),
    mul(i_l_3[167:164],i_di[19:16]),
    mul(i_l_3[163:160],i_di[19:16]),
    mul(i_l_3[159:156],i_di[19:16]),
    mul(i_l_3[155:152],i_di[19:16]),
    mul(i_l_3[151:148],i_di[19:16]),
    mul(i_l_3[147:144],i_di[19:16]),
    mul(i_l_3[143:140],i_di[19:16]),
    mul(i_l_3[139:136],i_di[19:16]),
    mul(i_l_3[135:132],i_di[19:16]),
    mul(i_l_3[131:128],i_di[19:16]),
    mul(i_l_3[127:124],i_di[19:16]),
    mul(i_l_3[123:120],i_di[19:16]),
    mul(i_l_3[119:116],i_di[19:16]),
    mul(i_l_3[115:112],i_di[19:16]),
    mul(i_l_3[111:108],i_di[19:16]),
    mul(i_l_3[107:104],i_di[19:16]),
    mul(i_l_3[103:100],i_di[19:16]),
    mul(i_l_3[99:96]  ,i_di[19:16]),
    mul(i_l_3[95:92]  ,i_di[19:16]),
    mul(i_l_3[91:88]  ,i_di[19:16]),
    mul(i_l_3[87:84]  ,i_di[19:16]),
    mul(i_l_3[83:80]  ,i_di[19:16]),
    mul(i_l_3[79:76]  ,i_di[19:16]),
    mul(i_l_3[75:72]  ,i_di[19:16]),
    mul(i_l_3[71:68]  ,i_di[19:16]),
    mul(i_l_3[67:64]  ,i_di[19:16]),
    mul(i_l_3[63:60]  ,i_di[19:16]),
    mul(i_l_3[59:56]  ,i_di[19:16]),
    mul(i_l_3[55:52]  ,i_di[19:16]),
    mul(i_l_3[51:48]  ,i_di[19:16]),
    mul(i_l_3[47:44]  ,i_di[19:16]),
    mul(i_l_3[43:40]  ,i_di[19:16]),
    mul(i_l_3[39:36]  ,i_di[19:16]),
    mul(i_l_3[35:32]  ,i_di[19:16]),
    mul(i_l_3[31:28]  ,i_di[19:16]),
    mul(i_l_3[27:24]  ,i_di[19:16]),
    mul(i_l_3[23:20]  ,i_di[19:16]),
    mul(i_l_3[19:16]  ,i_di[19:16]),
    mul(i_l_3[15:12]  ,i_di[19:16]),
    mul(i_l_3[11:8]   ,i_di[19:16]),
    mul(i_l_3[7:4]    ,i_di[19:16]),
    mul(i_l_3[3:0]    ,i_di[19:16])
};
assign o_ls_4 = {
    mul(i_l_4[255:252],i_di[15:12]),
    mul(i_l_4[251:248],i_di[15:12]),
    mul(i_l_4[247:244],i_di[15:12]),
    mul(i_l_4[243:240],i_di[15:12]),
    mul(i_l_4[239:236],i_di[15:12]),
    mul(i_l_4[235:232],i_di[15:12]),
    mul(i_l_4[231:228],i_di[15:12]),
    mul(i_l_4[227:224],i_di[15:12]),
    mul(i_l_4[223:220],i_di[15:12]),
    mul(i_l_4[219:216],i_di[15:12]),
    mul(i_l_4[215:212],i_di[15:12]),
    mul(i_l_4[211:208],i_di[15:12]),
    mul(i_l_4[207:204],i_di[15:12]),
    mul(i_l_4[203:200],i_di[15:12]),
    mul(i_l_4[199:196],i_di[15:12]),
    mul(i_l_4[195:192],i_di[15:12]),
    mul(i_l_4[191:188],i_di[15:12]),
    mul(i_l_4[187:184],i_di[15:12]),
    mul(i_l_4[183:180],i_di[15:12]),
    mul(i_l_4[179:176],i_di[15:12]),
    mul(i_l_4[175:172],i_di[15:12]),
    mul(i_l_4[171:168],i_di[15:12]),
    mul(i_l_4[167:164],i_di[15:12]),
    mul(i_l_4[163:160],i_di[15:12]),
    mul(i_l_4[159:156],i_di[15:12]),
    mul(i_l_4[155:152],i_di[15:12]),
    mul(i_l_4[151:148],i_di[15:12]),
    mul(i_l_4[147:144],i_di[15:12]),
    mul(i_l_4[143:140],i_di[15:12]),
    mul(i_l_4[139:136],i_di[15:12]),
    mul(i_l_4[135:132],i_di[15:12]),
    mul(i_l_4[131:128],i_di[15:12]),
    mul(i_l_4[127:124],i_di[15:12]),
    mul(i_l_4[123:120],i_di[15:12]),
    mul(i_l_4[119:116],i_di[15:12]),
    mul(i_l_4[115:112],i_di[15:12]),
    mul(i_l_4[111:108],i_di[15:12]),
    mul(i_l_4[107:104],i_di[15:12]),
    mul(i_l_4[103:100],i_di[15:12]),
    mul(i_l_4[99:96]  ,i_di[15:12]),
    mul(i_l_4[95:92]  ,i_di[15:12]),
    mul(i_l_4[91:88]  ,i_di[15:12]),
    mul(i_l_4[87:84]  ,i_di[15:12]),
    mul(i_l_4[83:80]  ,i_di[15:12]),
    mul(i_l_4[79:76]  ,i_di[15:12]),
    mul(i_l_4[75:72]  ,i_di[15:12]),
    mul(i_l_4[71:68]  ,i_di[15:12]),
    mul(i_l_4[67:64]  ,i_di[15:12]),
    mul(i_l_4[63:60]  ,i_di[15:12]),
    mul(i_l_4[59:56]  ,i_di[15:12]),
    mul(i_l_4[55:52]  ,i_di[15:12]),
    mul(i_l_4[51:48]  ,i_di[15:12]),
    mul(i_l_4[47:44]  ,i_di[15:12]),
    mul(i_l_4[43:40]  ,i_di[15:12]),
    mul(i_l_4[39:36]  ,i_di[15:12]),
    mul(i_l_4[35:32]  ,i_di[15:12]),
    mul(i_l_4[31:28]  ,i_di[15:12]),
    mul(i_l_4[27:24]  ,i_di[15:12]),
    mul(i_l_4[23:20]  ,i_di[15:12]),
    mul(i_l_4[19:16]  ,i_di[15:12]),
    mul(i_l_4[15:12]  ,i_di[15:12]),
    mul(i_l_4[11:8]   ,i_di[15:12]),
    mul(i_l_4[7:4]    ,i_di[15:12]),
    mul(i_l_4[3:0]    ,i_di[15:12])
};
assign o_ls_5 = {
    mul(i_l_5[255:252],i_di[11:8]),
    mul(i_l_5[251:248],i_di[11:8]),
    mul(i_l_5[247:244],i_di[11:8]),
    mul(i_l_5[243:240],i_di[11:8]),
    mul(i_l_5[239:236],i_di[11:8]),
    mul(i_l_5[235:232],i_di[11:8]),
    mul(i_l_5[231:228],i_di[11:8]),
    mul(i_l_5[227:224],i_di[11:8]),
    mul(i_l_5[223:220],i_di[11:8]),
    mul(i_l_5[219:216],i_di[11:8]),
    mul(i_l_5[215:212],i_di[11:8]),
    mul(i_l_5[211:208],i_di[11:8]),
    mul(i_l_5[207:204],i_di[11:8]),
    mul(i_l_5[203:200],i_di[11:8]),
    mul(i_l_5[199:196],i_di[11:8]),
    mul(i_l_5[195:192],i_di[11:8]),
    mul(i_l_5[191:188],i_di[11:8]),
    mul(i_l_5[187:184],i_di[11:8]),
    mul(i_l_5[183:180],i_di[11:8]),
    mul(i_l_5[179:176],i_di[11:8]),
    mul(i_l_5[175:172],i_di[11:8]),
    mul(i_l_5[171:168],i_di[11:8]),
    mul(i_l_5[167:164],i_di[11:8]),
    mul(i_l_5[163:160],i_di[11:8]),
    mul(i_l_5[159:156],i_di[11:8]),
    mul(i_l_5[155:152],i_di[11:8]),
    mul(i_l_5[151:148],i_di[11:8]),
    mul(i_l_5[147:144],i_di[11:8]),
    mul(i_l_5[143:140],i_di[11:8]),
    mul(i_l_5[139:136],i_di[11:8]),
    mul(i_l_5[135:132],i_di[11:8]),
    mul(i_l_5[131:128],i_di[11:8]),
    mul(i_l_5[127:124],i_di[11:8]),
    mul(i_l_5[123:120],i_di[11:8]),
    mul(i_l_5[119:116],i_di[11:8]),
    mul(i_l_5[115:112],i_di[11:8]),
    mul(i_l_5[111:108],i_di[11:8]),
    mul(i_l_5[107:104],i_di[11:8]),
    mul(i_l_5[103:100],i_di[11:8]),
    mul(i_l_5[99:96]  ,i_di[11:8]),
    mul(i_l_5[95:92]  ,i_di[11:8]),
    mul(i_l_5[91:88]  ,i_di[11:8]),
    mul(i_l_5[87:84]  ,i_di[11:8]),
    mul(i_l_5[83:80]  ,i_di[11:8]),
    mul(i_l_5[79:76]  ,i_di[11:8]),
    mul(i_l_5[75:72]  ,i_di[11:8]),
    mul(i_l_5[71:68]  ,i_di[11:8]),
    mul(i_l_5[67:64]  ,i_di[11:8]),
    mul(i_l_5[63:60]  ,i_di[11:8]),
    mul(i_l_5[59:56]  ,i_di[11:8]),
    mul(i_l_5[55:52]  ,i_di[11:8]),
    mul(i_l_5[51:48]  ,i_di[11:8]),
    mul(i_l_5[47:44]  ,i_di[11:8]),
    mul(i_l_5[43:40]  ,i_di[11:8]),
    mul(i_l_5[39:36]  ,i_di[11:8]),
    mul(i_l_5[35:32]  ,i_di[11:8]),
    mul(i_l_5[31:28]  ,i_di[11:8]),
    mul(i_l_5[27:24]  ,i_di[11:8]),
    mul(i_l_5[23:20]  ,i_di[11:8]),
    mul(i_l_5[19:16]  ,i_di[11:8]),
    mul(i_l_5[15:12]  ,i_di[11:8]),
    mul(i_l_5[11:8]   ,i_di[11:8]),
    mul(i_l_5[7:4]    ,i_di[11:8]),
    mul(i_l_5[3:0]    ,i_di[11:8])
};
assign o_ls_6 = {
    mul(i_l_6[255:252],i_di[7:4]),
    mul(i_l_6[251:248],i_di[7:4]),
    mul(i_l_6[247:244],i_di[7:4]),
    mul(i_l_6[243:240],i_di[7:4]),
    mul(i_l_6[239:236],i_di[7:4]),
    mul(i_l_6[235:232],i_di[7:4]),
    mul(i_l_6[231:228],i_di[7:4]),
    mul(i_l_6[227:224],i_di[7:4]),
    mul(i_l_6[223:220],i_di[7:4]),
    mul(i_l_6[219:216],i_di[7:4]),
    mul(i_l_6[215:212],i_di[7:4]),
    mul(i_l_6[211:208],i_di[7:4]),
    mul(i_l_6[207:204],i_di[7:4]),
    mul(i_l_6[203:200],i_di[7:4]),
    mul(i_l_6[199:196],i_di[7:4]),
    mul(i_l_6[195:192],i_di[7:4]),
    mul(i_l_6[191:188],i_di[7:4]),
    mul(i_l_6[187:184],i_di[7:4]),
    mul(i_l_6[183:180],i_di[7:4]),
    mul(i_l_6[179:176],i_di[7:4]),
    mul(i_l_6[175:172],i_di[7:4]),
    mul(i_l_6[171:168],i_di[7:4]),
    mul(i_l_6[167:164],i_di[7:4]),
    mul(i_l_6[163:160],i_di[7:4]),
    mul(i_l_6[159:156],i_di[7:4]),
    mul(i_l_6[155:152],i_di[7:4]),
    mul(i_l_6[151:148],i_di[7:4]),
    mul(i_l_6[147:144],i_di[7:4]),
    mul(i_l_6[143:140],i_di[7:4]),
    mul(i_l_6[139:136],i_di[7:4]),
    mul(i_l_6[135:132],i_di[7:4]),
    mul(i_l_6[131:128],i_di[7:4]),
    mul(i_l_6[127:124],i_di[7:4]),
    mul(i_l_6[123:120],i_di[7:4]),
    mul(i_l_6[119:116],i_di[7:4]),
    mul(i_l_6[115:112],i_di[7:4]),
    mul(i_l_6[111:108],i_di[7:4]),
    mul(i_l_6[107:104],i_di[7:4]),
    mul(i_l_6[103:100],i_di[7:4]),
    mul(i_l_6[99:96]  ,i_di[7:4]),
    mul(i_l_6[95:92]  ,i_di[7:4]),
    mul(i_l_6[91:88]  ,i_di[7:4]),
    mul(i_l_6[87:84]  ,i_di[7:4]),
    mul(i_l_6[83:80]  ,i_di[7:4]),
    mul(i_l_6[79:76]  ,i_di[7:4]),
    mul(i_l_6[75:72]  ,i_di[7:4]),
    mul(i_l_6[71:68]  ,i_di[7:4]),
    mul(i_l_6[67:64]  ,i_di[7:4]),
    mul(i_l_6[63:60]  ,i_di[7:4]),
    mul(i_l_6[59:56]  ,i_di[7:4]),
    mul(i_l_6[55:52]  ,i_di[7:4]),
    mul(i_l_6[51:48]  ,i_di[7:4]),
    mul(i_l_6[47:44]  ,i_di[7:4]),
    mul(i_l_6[43:40]  ,i_di[7:4]),
    mul(i_l_6[39:36]  ,i_di[7:4]),
    mul(i_l_6[35:32]  ,i_di[7:4]),
    mul(i_l_6[31:28]  ,i_di[7:4]),
    mul(i_l_6[27:24]  ,i_di[7:4]),
    mul(i_l_6[23:20]  ,i_di[7:4]),
    mul(i_l_6[19:16]  ,i_di[7:4]),
    mul(i_l_6[15:12]  ,i_di[7:4]),
    mul(i_l_6[11:8]   ,i_di[7:4]),
    mul(i_l_6[7:4]    ,i_di[7:4]),
    mul(i_l_6[3:0]    ,i_di[7:4])
};
assign o_ls_7 = {
    mul(i_l_7[255:252],i_di[3:0]),
    mul(i_l_7[251:248],i_di[3:0]),
    mul(i_l_7[247:244],i_di[3:0]),
    mul(i_l_7[243:240],i_di[3:0]),
    mul(i_l_7[239:236],i_di[3:0]),
    mul(i_l_7[235:232],i_di[3:0]),
    mul(i_l_7[231:228],i_di[3:0]),
    mul(i_l_7[227:224],i_di[3:0]),
    mul(i_l_7[223:220],i_di[3:0]),
    mul(i_l_7[219:216],i_di[3:0]),
    mul(i_l_7[215:212],i_di[3:0]),
    mul(i_l_7[211:208],i_di[3:0]),
    mul(i_l_7[207:204],i_di[3:0]),
    mul(i_l_7[203:200],i_di[3:0]),
    mul(i_l_7[199:196],i_di[3:0]),
    mul(i_l_7[195:192],i_di[3:0]),
    mul(i_l_7[191:188],i_di[3:0]),
    mul(i_l_7[187:184],i_di[3:0]),
    mul(i_l_7[183:180],i_di[3:0]),
    mul(i_l_7[179:176],i_di[3:0]),
    mul(i_l_7[175:172],i_di[3:0]),
    mul(i_l_7[171:168],i_di[3:0]),
    mul(i_l_7[167:164],i_di[3:0]),
    mul(i_l_7[163:160],i_di[3:0]),
    mul(i_l_7[159:156],i_di[3:0]),
    mul(i_l_7[155:152],i_di[3:0]),
    mul(i_l_7[151:148],i_di[3:0]),
    mul(i_l_7[147:144],i_di[3:0]),
    mul(i_l_7[143:140],i_di[3:0]),
    mul(i_l_7[139:136],i_di[3:0]),
    mul(i_l_7[135:132],i_di[3:0]),
    mul(i_l_7[131:128],i_di[3:0]),
    mul(i_l_7[127:124],i_di[3:0]),
    mul(i_l_7[123:120],i_di[3:0]),
    mul(i_l_7[119:116],i_di[3:0]),
    mul(i_l_7[115:112],i_di[3:0]),
    mul(i_l_7[111:108],i_di[3:0]),
    mul(i_l_7[107:104],i_di[3:0]),
    mul(i_l_7[103:100],i_di[3:0]),
    mul(i_l_7[99:96]  ,i_di[3:0]),
    mul(i_l_7[95:92]  ,i_di[3:0]),
    mul(i_l_7[91:88]  ,i_di[3:0]),
    mul(i_l_7[87:84]  ,i_di[3:0]),
    mul(i_l_7[83:80]  ,i_di[3:0]),
    mul(i_l_7[79:76]  ,i_di[3:0]),
    mul(i_l_7[75:72]  ,i_di[3:0]),
    mul(i_l_7[71:68]  ,i_di[3:0]),
    mul(i_l_7[67:64]  ,i_di[3:0]),
    mul(i_l_7[63:60]  ,i_di[3:0]),
    mul(i_l_7[59:56]  ,i_di[3:0]),
    mul(i_l_7[55:52]  ,i_di[3:0]),
    mul(i_l_7[51:48]  ,i_di[3:0]),
    mul(i_l_7[47:44]  ,i_di[3:0]),
    mul(i_l_7[43:40]  ,i_di[3:0]),
    mul(i_l_7[39:36]  ,i_di[3:0]),
    mul(i_l_7[35:32]  ,i_di[3:0]),
    mul(i_l_7[31:28]  ,i_di[3:0]),
    mul(i_l_7[27:24]  ,i_di[3:0]),
    mul(i_l_7[23:20]  ,i_di[3:0]),
    mul(i_l_7[19:16]  ,i_di[3:0]),
    mul(i_l_7[15:12]  ,i_di[3:0]),
    mul(i_l_7[11:8]   ,i_di[3:0]),
    mul(i_l_7[7:4]    ,i_di[3:0]),
    mul(i_l_7[3:0]    ,i_di[3:0])
};

assign o_mp1_0 = {
    mul(i_m_0[255:252],i_p1[31:28]),
    mul(i_m_0[251:248],i_p1[31:28]),
    mul(i_m_0[247:244],i_p1[31:28]),
    mul(i_m_0[243:240],i_p1[31:28]),
    mul(i_m_0[239:236],i_p1[31:28]),
    mul(i_m_0[235:232],i_p1[31:28]),
    mul(i_m_0[231:228],i_p1[31:28]),
    mul(i_m_0[227:224],i_p1[31:28]),
    mul(i_m_0[223:220],i_p1[31:28]),
    mul(i_m_0[219:216],i_p1[31:28]),
    mul(i_m_0[215:212],i_p1[31:28]),
    mul(i_m_0[211:208],i_p1[31:28]),
    mul(i_m_0[207:204],i_p1[31:28]),
    mul(i_m_0[203:200],i_p1[31:28]),
    mul(i_m_0[199:196],i_p1[31:28]),
    mul(i_m_0[195:192],i_p1[31:28]),
    mul(i_m_0[191:188],i_p1[31:28]),
    mul(i_m_0[187:184],i_p1[31:28]),
    mul(i_m_0[183:180],i_p1[31:28]),
    mul(i_m_0[179:176],i_p1[31:28]),
    mul(i_m_0[175:172],i_p1[31:28]),
    mul(i_m_0[171:168],i_p1[31:28]),
    mul(i_m_0[167:164],i_p1[31:28]),
    mul(i_m_0[163:160],i_p1[31:28]),
    mul(i_m_0[159:156],i_p1[31:28]),
    mul(i_m_0[155:152],i_p1[31:28]),
    mul(i_m_0[151:148],i_p1[31:28]),
    mul(i_m_0[147:144],i_p1[31:28]),
    mul(i_m_0[143:140],i_p1[31:28]),
    mul(i_m_0[139:136],i_p1[31:28]),
    mul(i_m_0[135:132],i_p1[31:28]),
    mul(i_m_0[131:128],i_p1[31:28]),
    mul(i_m_0[127:124],i_p1[31:28]),
    mul(i_m_0[123:120],i_p1[31:28]),
    mul(i_m_0[119:116],i_p1[31:28]),
    mul(i_m_0[115:112],i_p1[31:28]),
    mul(i_m_0[111:108],i_p1[31:28]),
    mul(i_m_0[107:104],i_p1[31:28]),
    mul(i_m_0[103:100],i_p1[31:28]),
    mul(i_m_0[99:96]  ,i_p1[31:28]),
    mul(i_m_0[95:92]  ,i_p1[31:28]),
    mul(i_m_0[91:88]  ,i_p1[31:28]),
    mul(i_m_0[87:84]  ,i_p1[31:28]),
    mul(i_m_0[83:80]  ,i_p1[31:28]),
    mul(i_m_0[79:76]  ,i_p1[31:28]),
    mul(i_m_0[75:72]  ,i_p1[31:28]),
    mul(i_m_0[71:68]  ,i_p1[31:28]),
    mul(i_m_0[67:64]  ,i_p1[31:28]),
    mul(i_m_0[63:60]  ,i_p1[31:28]),
    mul(i_m_0[59:56]  ,i_p1[31:28]),
    mul(i_m_0[55:52]  ,i_p1[31:28]),
    mul(i_m_0[51:48]  ,i_p1[31:28]),
    mul(i_m_0[47:44]  ,i_p1[31:28]),
    mul(i_m_0[43:40]  ,i_p1[31:28]),
    mul(i_m_0[39:36]  ,i_p1[31:28]),
    mul(i_m_0[35:32]  ,i_p1[31:28]),
    mul(i_m_0[31:28]  ,i_p1[31:28]),
    mul(i_m_0[27:24]  ,i_p1[31:28]),
    mul(i_m_0[23:20]  ,i_p1[31:28]),
    mul(i_m_0[19:16]  ,i_p1[31:28]),
    mul(i_m_0[15:12]  ,i_p1[31:28]),
    mul(i_m_0[11:8]   ,i_p1[31:28]),
    mul(i_m_0[7:4]    ,i_p1[31:28]),
    mul(i_m_0[3:0]    ,i_p1[31:28])
};
assign o_mp1_1 = {
    mul(i_m_1[255:252],i_p1[27:24]),
    mul(i_m_1[251:248],i_p1[27:24]),
    mul(i_m_1[247:244],i_p1[27:24]),
    mul(i_m_1[243:240],i_p1[27:24]),
    mul(i_m_1[239:236],i_p1[27:24]),
    mul(i_m_1[235:232],i_p1[27:24]),
    mul(i_m_1[231:228],i_p1[27:24]),
    mul(i_m_1[227:224],i_p1[27:24]),
    mul(i_m_1[223:220],i_p1[27:24]),
    mul(i_m_1[219:216],i_p1[27:24]),
    mul(i_m_1[215:212],i_p1[27:24]),
    mul(i_m_1[211:208],i_p1[27:24]),
    mul(i_m_1[207:204],i_p1[27:24]),
    mul(i_m_1[203:200],i_p1[27:24]),
    mul(i_m_1[199:196],i_p1[27:24]),
    mul(i_m_1[195:192],i_p1[27:24]),
    mul(i_m_1[191:188],i_p1[27:24]),
    mul(i_m_1[187:184],i_p1[27:24]),
    mul(i_m_1[183:180],i_p1[27:24]),
    mul(i_m_1[179:176],i_p1[27:24]),
    mul(i_m_1[175:172],i_p1[27:24]),
    mul(i_m_1[171:168],i_p1[27:24]),
    mul(i_m_1[167:164],i_p1[27:24]),
    mul(i_m_1[163:160],i_p1[27:24]),
    mul(i_m_1[159:156],i_p1[27:24]),
    mul(i_m_1[155:152],i_p1[27:24]),
    mul(i_m_1[151:148],i_p1[27:24]),
    mul(i_m_1[147:144],i_p1[27:24]),
    mul(i_m_1[143:140],i_p1[27:24]),
    mul(i_m_1[139:136],i_p1[27:24]),
    mul(i_m_1[135:132],i_p1[27:24]),
    mul(i_m_1[131:128],i_p1[27:24]),
    mul(i_m_1[127:124],i_p1[27:24]),
    mul(i_m_1[123:120],i_p1[27:24]),
    mul(i_m_1[119:116],i_p1[27:24]),
    mul(i_m_1[115:112],i_p1[27:24]),
    mul(i_m_1[111:108],i_p1[27:24]),
    mul(i_m_1[107:104],i_p1[27:24]),
    mul(i_m_1[103:100],i_p1[27:24]),
    mul(i_m_1[99:96]  ,i_p1[27:24]),
    mul(i_m_1[95:92]  ,i_p1[27:24]),
    mul(i_m_1[91:88]  ,i_p1[27:24]),
    mul(i_m_1[87:84]  ,i_p1[27:24]),
    mul(i_m_1[83:80]  ,i_p1[27:24]),
    mul(i_m_1[79:76]  ,i_p1[27:24]),
    mul(i_m_1[75:72]  ,i_p1[27:24]),
    mul(i_m_1[71:68]  ,i_p1[27:24]),
    mul(i_m_1[67:64]  ,i_p1[27:24]),
    mul(i_m_1[63:60]  ,i_p1[27:24]),
    mul(i_m_1[59:56]  ,i_p1[27:24]),
    mul(i_m_1[55:52]  ,i_p1[27:24]),
    mul(i_m_1[51:48]  ,i_p1[27:24]),
    mul(i_m_1[47:44]  ,i_p1[27:24]),
    mul(i_m_1[43:40]  ,i_p1[27:24]),
    mul(i_m_1[39:36]  ,i_p1[27:24]),
    mul(i_m_1[35:32]  ,i_p1[27:24]),
    mul(i_m_1[31:28]  ,i_p1[27:24]),
    mul(i_m_1[27:24]  ,i_p1[27:24]),
    mul(i_m_1[23:20]  ,i_p1[27:24]),
    mul(i_m_1[19:16]  ,i_p1[27:24]),
    mul(i_m_1[15:12]  ,i_p1[27:24]),
    mul(i_m_1[11:8]   ,i_p1[27:24]),
    mul(i_m_1[7:4]    ,i_p1[27:24]),
    mul(i_m_1[3:0]    ,i_p1[27:24])
};
assign o_mp1_2 = {
    mul(i_m_2[255:252],i_p1[23:20]),
    mul(i_m_2[251:248],i_p1[23:20]),
    mul(i_m_2[247:244],i_p1[23:20]),
    mul(i_m_2[243:240],i_p1[23:20]),
    mul(i_m_2[239:236],i_p1[23:20]),
    mul(i_m_2[235:232],i_p1[23:20]),
    mul(i_m_2[231:228],i_p1[23:20]),
    mul(i_m_2[227:224],i_p1[23:20]),
    mul(i_m_2[223:220],i_p1[23:20]),
    mul(i_m_2[219:216],i_p1[23:20]),
    mul(i_m_2[215:212],i_p1[23:20]),
    mul(i_m_2[211:208],i_p1[23:20]),
    mul(i_m_2[207:204],i_p1[23:20]),
    mul(i_m_2[203:200],i_p1[23:20]),
    mul(i_m_2[199:196],i_p1[23:20]),
    mul(i_m_2[195:192],i_p1[23:20]),
    mul(i_m_2[191:188],i_p1[23:20]),
    mul(i_m_2[187:184],i_p1[23:20]),
    mul(i_m_2[183:180],i_p1[23:20]),
    mul(i_m_2[179:176],i_p1[23:20]),
    mul(i_m_2[175:172],i_p1[23:20]),
    mul(i_m_2[171:168],i_p1[23:20]),
    mul(i_m_2[167:164],i_p1[23:20]),
    mul(i_m_2[163:160],i_p1[23:20]),
    mul(i_m_2[159:156],i_p1[23:20]),
    mul(i_m_2[155:152],i_p1[23:20]),
    mul(i_m_2[151:148],i_p1[23:20]),
    mul(i_m_2[147:144],i_p1[23:20]),
    mul(i_m_2[143:140],i_p1[23:20]),
    mul(i_m_2[139:136],i_p1[23:20]),
    mul(i_m_2[135:132],i_p1[23:20]),
    mul(i_m_2[131:128],i_p1[23:20]),
    mul(i_m_2[127:124],i_p1[23:20]),
    mul(i_m_2[123:120],i_p1[23:20]),
    mul(i_m_2[119:116],i_p1[23:20]),
    mul(i_m_2[115:112],i_p1[23:20]),
    mul(i_m_2[111:108],i_p1[23:20]),
    mul(i_m_2[107:104],i_p1[23:20]),
    mul(i_m_2[103:100],i_p1[23:20]),
    mul(i_m_2[99:96]  ,i_p1[23:20]),
    mul(i_m_2[95:92]  ,i_p1[23:20]),
    mul(i_m_2[91:88]  ,i_p1[23:20]),
    mul(i_m_2[87:84]  ,i_p1[23:20]),
    mul(i_m_2[83:80]  ,i_p1[23:20]),
    mul(i_m_2[79:76]  ,i_p1[23:20]),
    mul(i_m_2[75:72]  ,i_p1[23:20]),
    mul(i_m_2[71:68]  ,i_p1[23:20]),
    mul(i_m_2[67:64]  ,i_p1[23:20]),
    mul(i_m_2[63:60]  ,i_p1[23:20]),
    mul(i_m_2[59:56]  ,i_p1[23:20]),
    mul(i_m_2[55:52]  ,i_p1[23:20]),
    mul(i_m_2[51:48]  ,i_p1[23:20]),
    mul(i_m_2[47:44]  ,i_p1[23:20]),
    mul(i_m_2[43:40]  ,i_p1[23:20]),
    mul(i_m_2[39:36]  ,i_p1[23:20]),
    mul(i_m_2[35:32]  ,i_p1[23:20]),
    mul(i_m_2[31:28]  ,i_p1[23:20]),
    mul(i_m_2[27:24]  ,i_p1[23:20]),
    mul(i_m_2[23:20]  ,i_p1[23:20]),
    mul(i_m_2[19:16]  ,i_p1[23:20]),
    mul(i_m_2[15:12]  ,i_p1[23:20]),
    mul(i_m_2[11:8]   ,i_p1[23:20]),
    mul(i_m_2[7:4]    ,i_p1[23:20]),
    mul(i_m_2[3:0]    ,i_p1[23:20])
};
assign o_mp1_3 = {
    mul(i_m_3[255:252],i_p1[19:16]),
    mul(i_m_3[251:248],i_p1[19:16]),
    mul(i_m_3[247:244],i_p1[19:16]),
    mul(i_m_3[243:240],i_p1[19:16]),
    mul(i_m_3[239:236],i_p1[19:16]),
    mul(i_m_3[235:232],i_p1[19:16]),
    mul(i_m_3[231:228],i_p1[19:16]),
    mul(i_m_3[227:224],i_p1[19:16]),
    mul(i_m_3[223:220],i_p1[19:16]),
    mul(i_m_3[219:216],i_p1[19:16]),
    mul(i_m_3[215:212],i_p1[19:16]),
    mul(i_m_3[211:208],i_p1[19:16]),
    mul(i_m_3[207:204],i_p1[19:16]),
    mul(i_m_3[203:200],i_p1[19:16]),
    mul(i_m_3[199:196],i_p1[19:16]),
    mul(i_m_3[195:192],i_p1[19:16]),
    mul(i_m_3[191:188],i_p1[19:16]),
    mul(i_m_3[187:184],i_p1[19:16]),
    mul(i_m_3[183:180],i_p1[19:16]),
    mul(i_m_3[179:176],i_p1[19:16]),
    mul(i_m_3[175:172],i_p1[19:16]),
    mul(i_m_3[171:168],i_p1[19:16]),
    mul(i_m_3[167:164],i_p1[19:16]),
    mul(i_m_3[163:160],i_p1[19:16]),
    mul(i_m_3[159:156],i_p1[19:16]),
    mul(i_m_3[155:152],i_p1[19:16]),
    mul(i_m_3[151:148],i_p1[19:16]),
    mul(i_m_3[147:144],i_p1[19:16]),
    mul(i_m_3[143:140],i_p1[19:16]),
    mul(i_m_3[139:136],i_p1[19:16]),
    mul(i_m_3[135:132],i_p1[19:16]),
    mul(i_m_3[131:128],i_p1[19:16]),
    mul(i_m_3[127:124],i_p1[19:16]),
    mul(i_m_3[123:120],i_p1[19:16]),
    mul(i_m_3[119:116],i_p1[19:16]),
    mul(i_m_3[115:112],i_p1[19:16]),
    mul(i_m_3[111:108],i_p1[19:16]),
    mul(i_m_3[107:104],i_p1[19:16]),
    mul(i_m_3[103:100],i_p1[19:16]),
    mul(i_m_3[99:96]  ,i_p1[19:16]),
    mul(i_m_3[95:92]  ,i_p1[19:16]),
    mul(i_m_3[91:88]  ,i_p1[19:16]),
    mul(i_m_3[87:84]  ,i_p1[19:16]),
    mul(i_m_3[83:80]  ,i_p1[19:16]),
    mul(i_m_3[79:76]  ,i_p1[19:16]),
    mul(i_m_3[75:72]  ,i_p1[19:16]),
    mul(i_m_3[71:68]  ,i_p1[19:16]),
    mul(i_m_3[67:64]  ,i_p1[19:16]),
    mul(i_m_3[63:60]  ,i_p1[19:16]),
    mul(i_m_3[59:56]  ,i_p1[19:16]),
    mul(i_m_3[55:52]  ,i_p1[19:16]),
    mul(i_m_3[51:48]  ,i_p1[19:16]),
    mul(i_m_3[47:44]  ,i_p1[19:16]),
    mul(i_m_3[43:40]  ,i_p1[19:16]),
    mul(i_m_3[39:36]  ,i_p1[19:16]),
    mul(i_m_3[35:32]  ,i_p1[19:16]),
    mul(i_m_3[31:28]  ,i_p1[19:16]),
    mul(i_m_3[27:24]  ,i_p1[19:16]),
    mul(i_m_3[23:20]  ,i_p1[19:16]),
    mul(i_m_3[19:16]  ,i_p1[19:16]),
    mul(i_m_3[15:12]  ,i_p1[19:16]),
    mul(i_m_3[11:8]   ,i_p1[19:16]),
    mul(i_m_3[7:4]    ,i_p1[19:16]),
    mul(i_m_3[3:0]    ,i_p1[19:16])
};
assign o_mp1_4 = {
    mul(i_m_4[255:252],i_p1[15:12]),
    mul(i_m_4[251:248],i_p1[15:12]),
    mul(i_m_4[247:244],i_p1[15:12]),
    mul(i_m_4[243:240],i_p1[15:12]),
    mul(i_m_4[239:236],i_p1[15:12]),
    mul(i_m_4[235:232],i_p1[15:12]),
    mul(i_m_4[231:228],i_p1[15:12]),
    mul(i_m_4[227:224],i_p1[15:12]),
    mul(i_m_4[223:220],i_p1[15:12]),
    mul(i_m_4[219:216],i_p1[15:12]),
    mul(i_m_4[215:212],i_p1[15:12]),
    mul(i_m_4[211:208],i_p1[15:12]),
    mul(i_m_4[207:204],i_p1[15:12]),
    mul(i_m_4[203:200],i_p1[15:12]),
    mul(i_m_4[199:196],i_p1[15:12]),
    mul(i_m_4[195:192],i_p1[15:12]),
    mul(i_m_4[191:188],i_p1[15:12]),
    mul(i_m_4[187:184],i_p1[15:12]),
    mul(i_m_4[183:180],i_p1[15:12]),
    mul(i_m_4[179:176],i_p1[15:12]),
    mul(i_m_4[175:172],i_p1[15:12]),
    mul(i_m_4[171:168],i_p1[15:12]),
    mul(i_m_4[167:164],i_p1[15:12]),
    mul(i_m_4[163:160],i_p1[15:12]),
    mul(i_m_4[159:156],i_p1[15:12]),
    mul(i_m_4[155:152],i_p1[15:12]),
    mul(i_m_4[151:148],i_p1[15:12]),
    mul(i_m_4[147:144],i_p1[15:12]),
    mul(i_m_4[143:140],i_p1[15:12]),
    mul(i_m_4[139:136],i_p1[15:12]),
    mul(i_m_4[135:132],i_p1[15:12]),
    mul(i_m_4[131:128],i_p1[15:12]),
    mul(i_m_4[127:124],i_p1[15:12]),
    mul(i_m_4[123:120],i_p1[15:12]),
    mul(i_m_4[119:116],i_p1[15:12]),
    mul(i_m_4[115:112],i_p1[15:12]),
    mul(i_m_4[111:108],i_p1[15:12]),
    mul(i_m_4[107:104],i_p1[15:12]),
    mul(i_m_4[103:100],i_p1[15:12]),
    mul(i_m_4[99:96]  ,i_p1[15:12]),
    mul(i_m_4[95:92]  ,i_p1[15:12]),
    mul(i_m_4[91:88]  ,i_p1[15:12]),
    mul(i_m_4[87:84]  ,i_p1[15:12]),
    mul(i_m_4[83:80]  ,i_p1[15:12]),
    mul(i_m_4[79:76]  ,i_p1[15:12]),
    mul(i_m_4[75:72]  ,i_p1[15:12]),
    mul(i_m_4[71:68]  ,i_p1[15:12]),
    mul(i_m_4[67:64]  ,i_p1[15:12]),
    mul(i_m_4[63:60]  ,i_p1[15:12]),
    mul(i_m_4[59:56]  ,i_p1[15:12]),
    mul(i_m_4[55:52]  ,i_p1[15:12]),
    mul(i_m_4[51:48]  ,i_p1[15:12]),
    mul(i_m_4[47:44]  ,i_p1[15:12]),
    mul(i_m_4[43:40]  ,i_p1[15:12]),
    mul(i_m_4[39:36]  ,i_p1[15:12]),
    mul(i_m_4[35:32]  ,i_p1[15:12]),
    mul(i_m_4[31:28]  ,i_p1[15:12]),
    mul(i_m_4[27:24]  ,i_p1[15:12]),
    mul(i_m_4[23:20]  ,i_p1[15:12]),
    mul(i_m_4[19:16]  ,i_p1[15:12]),
    mul(i_m_4[15:12]  ,i_p1[15:12]),
    mul(i_m_4[11:8]   ,i_p1[15:12]),
    mul(i_m_4[7:4]    ,i_p1[15:12]),
    mul(i_m_4[3:0]    ,i_p1[15:12])
};
assign o_mp1_5 = {
    mul(i_m_5[255:252],i_p1[11:8]),
    mul(i_m_5[251:248],i_p1[11:8]),
    mul(i_m_5[247:244],i_p1[11:8]),
    mul(i_m_5[243:240],i_p1[11:8]),
    mul(i_m_5[239:236],i_p1[11:8]),
    mul(i_m_5[235:232],i_p1[11:8]),
    mul(i_m_5[231:228],i_p1[11:8]),
    mul(i_m_5[227:224],i_p1[11:8]),
    mul(i_m_5[223:220],i_p1[11:8]),
    mul(i_m_5[219:216],i_p1[11:8]),
    mul(i_m_5[215:212],i_p1[11:8]),
    mul(i_m_5[211:208],i_p1[11:8]),
    mul(i_m_5[207:204],i_p1[11:8]),
    mul(i_m_5[203:200],i_p1[11:8]),
    mul(i_m_5[199:196],i_p1[11:8]),
    mul(i_m_5[195:192],i_p1[11:8]),
    mul(i_m_5[191:188],i_p1[11:8]),
    mul(i_m_5[187:184],i_p1[11:8]),
    mul(i_m_5[183:180],i_p1[11:8]),
    mul(i_m_5[179:176],i_p1[11:8]),
    mul(i_m_5[175:172],i_p1[11:8]),
    mul(i_m_5[171:168],i_p1[11:8]),
    mul(i_m_5[167:164],i_p1[11:8]),
    mul(i_m_5[163:160],i_p1[11:8]),
    mul(i_m_5[159:156],i_p1[11:8]),
    mul(i_m_5[155:152],i_p1[11:8]),
    mul(i_m_5[151:148],i_p1[11:8]),
    mul(i_m_5[147:144],i_p1[11:8]),
    mul(i_m_5[143:140],i_p1[11:8]),
    mul(i_m_5[139:136],i_p1[11:8]),
    mul(i_m_5[135:132],i_p1[11:8]),
    mul(i_m_5[131:128],i_p1[11:8]),
    mul(i_m_5[127:124],i_p1[11:8]),
    mul(i_m_5[123:120],i_p1[11:8]),
    mul(i_m_5[119:116],i_p1[11:8]),
    mul(i_m_5[115:112],i_p1[11:8]),
    mul(i_m_5[111:108],i_p1[11:8]),
    mul(i_m_5[107:104],i_p1[11:8]),
    mul(i_m_5[103:100],i_p1[11:8]),
    mul(i_m_5[99:96]  ,i_p1[11:8]),
    mul(i_m_5[95:92]  ,i_p1[11:8]),
    mul(i_m_5[91:88]  ,i_p1[11:8]),
    mul(i_m_5[87:84]  ,i_p1[11:8]),
    mul(i_m_5[83:80]  ,i_p1[11:8]),
    mul(i_m_5[79:76]  ,i_p1[11:8]),
    mul(i_m_5[75:72]  ,i_p1[11:8]),
    mul(i_m_5[71:68]  ,i_p1[11:8]),
    mul(i_m_5[67:64]  ,i_p1[11:8]),
    mul(i_m_5[63:60]  ,i_p1[11:8]),
    mul(i_m_5[59:56]  ,i_p1[11:8]),
    mul(i_m_5[55:52]  ,i_p1[11:8]),
    mul(i_m_5[51:48]  ,i_p1[11:8]),
    mul(i_m_5[47:44]  ,i_p1[11:8]),
    mul(i_m_5[43:40]  ,i_p1[11:8]),
    mul(i_m_5[39:36]  ,i_p1[11:8]),
    mul(i_m_5[35:32]  ,i_p1[11:8]),
    mul(i_m_5[31:28]  ,i_p1[11:8]),
    mul(i_m_5[27:24]  ,i_p1[11:8]),
    mul(i_m_5[23:20]  ,i_p1[11:8]),
    mul(i_m_5[19:16]  ,i_p1[11:8]),
    mul(i_m_5[15:12]  ,i_p1[11:8]),
    mul(i_m_5[11:8]   ,i_p1[11:8]),
    mul(i_m_5[7:4]    ,i_p1[11:8]),
    mul(i_m_5[3:0]    ,i_p1[11:8])
};
assign o_mp1_6 = {
    mul(i_m_6[255:252],i_p1[7:4]),
    mul(i_m_6[251:248],i_p1[7:4]),
    mul(i_m_6[247:244],i_p1[7:4]),
    mul(i_m_6[243:240],i_p1[7:4]),
    mul(i_m_6[239:236],i_p1[7:4]),
    mul(i_m_6[235:232],i_p1[7:4]),
    mul(i_m_6[231:228],i_p1[7:4]),
    mul(i_m_6[227:224],i_p1[7:4]),
    mul(i_m_6[223:220],i_p1[7:4]),
    mul(i_m_6[219:216],i_p1[7:4]),
    mul(i_m_6[215:212],i_p1[7:4]),
    mul(i_m_6[211:208],i_p1[7:4]),
    mul(i_m_6[207:204],i_p1[7:4]),
    mul(i_m_6[203:200],i_p1[7:4]),
    mul(i_m_6[199:196],i_p1[7:4]),
    mul(i_m_6[195:192],i_p1[7:4]),
    mul(i_m_6[191:188],i_p1[7:4]),
    mul(i_m_6[187:184],i_p1[7:4]),
    mul(i_m_6[183:180],i_p1[7:4]),
    mul(i_m_6[179:176],i_p1[7:4]),
    mul(i_m_6[175:172],i_p1[7:4]),
    mul(i_m_6[171:168],i_p1[7:4]),
    mul(i_m_6[167:164],i_p1[7:4]),
    mul(i_m_6[163:160],i_p1[7:4]),
    mul(i_m_6[159:156],i_p1[7:4]),
    mul(i_m_6[155:152],i_p1[7:4]),
    mul(i_m_6[151:148],i_p1[7:4]),
    mul(i_m_6[147:144],i_p1[7:4]),
    mul(i_m_6[143:140],i_p1[7:4]),
    mul(i_m_6[139:136],i_p1[7:4]),
    mul(i_m_6[135:132],i_p1[7:4]),
    mul(i_m_6[131:128],i_p1[7:4]),
    mul(i_m_6[127:124],i_p1[7:4]),
    mul(i_m_6[123:120],i_p1[7:4]),
    mul(i_m_6[119:116],i_p1[7:4]),
    mul(i_m_6[115:112],i_p1[7:4]),
    mul(i_m_6[111:108],i_p1[7:4]),
    mul(i_m_6[107:104],i_p1[7:4]),
    mul(i_m_6[103:100],i_p1[7:4]),
    mul(i_m_6[99:96]  ,i_p1[7:4]),
    mul(i_m_6[95:92]  ,i_p1[7:4]),
    mul(i_m_6[91:88]  ,i_p1[7:4]),
    mul(i_m_6[87:84]  ,i_p1[7:4]),
    mul(i_m_6[83:80]  ,i_p1[7:4]),
    mul(i_m_6[79:76]  ,i_p1[7:4]),
    mul(i_m_6[75:72]  ,i_p1[7:4]),
    mul(i_m_6[71:68]  ,i_p1[7:4]),
    mul(i_m_6[67:64]  ,i_p1[7:4]),
    mul(i_m_6[63:60]  ,i_p1[7:4]),
    mul(i_m_6[59:56]  ,i_p1[7:4]),
    mul(i_m_6[55:52]  ,i_p1[7:4]),
    mul(i_m_6[51:48]  ,i_p1[7:4]),
    mul(i_m_6[47:44]  ,i_p1[7:4]),
    mul(i_m_6[43:40]  ,i_p1[7:4]),
    mul(i_m_6[39:36]  ,i_p1[7:4]),
    mul(i_m_6[35:32]  ,i_p1[7:4]),
    mul(i_m_6[31:28]  ,i_p1[7:4]),
    mul(i_m_6[27:24]  ,i_p1[7:4]),
    mul(i_m_6[23:20]  ,i_p1[7:4]),
    mul(i_m_6[19:16]  ,i_p1[7:4]),
    mul(i_m_6[15:12]  ,i_p1[7:4]),
    mul(i_m_6[11:8]   ,i_p1[7:4]),
    mul(i_m_6[7:4]    ,i_p1[7:4]),
    mul(i_m_6[3:0]    ,i_p1[7:4])
};
assign o_mp1_7 = {
    mul(i_m_7[255:252],i_p1[3:0]),
    mul(i_m_7[251:248],i_p1[3:0]),
    mul(i_m_7[247:244],i_p1[3:0]),
    mul(i_m_7[243:240],i_p1[3:0]),
    mul(i_m_7[239:236],i_p1[3:0]),
    mul(i_m_7[235:232],i_p1[3:0]),
    mul(i_m_7[231:228],i_p1[3:0]),
    mul(i_m_7[227:224],i_p1[3:0]),
    mul(i_m_7[223:220],i_p1[3:0]),
    mul(i_m_7[219:216],i_p1[3:0]),
    mul(i_m_7[215:212],i_p1[3:0]),
    mul(i_m_7[211:208],i_p1[3:0]),
    mul(i_m_7[207:204],i_p1[3:0]),
    mul(i_m_7[203:200],i_p1[3:0]),
    mul(i_m_7[199:196],i_p1[3:0]),
    mul(i_m_7[195:192],i_p1[3:0]),
    mul(i_m_7[191:188],i_p1[3:0]),
    mul(i_m_7[187:184],i_p1[3:0]),
    mul(i_m_7[183:180],i_p1[3:0]),
    mul(i_m_7[179:176],i_p1[3:0]),
    mul(i_m_7[175:172],i_p1[3:0]),
    mul(i_m_7[171:168],i_p1[3:0]),
    mul(i_m_7[167:164],i_p1[3:0]),
    mul(i_m_7[163:160],i_p1[3:0]),
    mul(i_m_7[159:156],i_p1[3:0]),
    mul(i_m_7[155:152],i_p1[3:0]),
    mul(i_m_7[151:148],i_p1[3:0]),
    mul(i_m_7[147:144],i_p1[3:0]),
    mul(i_m_7[143:140],i_p1[3:0]),
    mul(i_m_7[139:136],i_p1[3:0]),
    mul(i_m_7[135:132],i_p1[3:0]),
    mul(i_m_7[131:128],i_p1[3:0]),
    mul(i_m_7[127:124],i_p1[3:0]),
    mul(i_m_7[123:120],i_p1[3:0]),
    mul(i_m_7[119:116],i_p1[3:0]),
    mul(i_m_7[115:112],i_p1[3:0]),
    mul(i_m_7[111:108],i_p1[3:0]),
    mul(i_m_7[107:104],i_p1[3:0]),
    mul(i_m_7[103:100],i_p1[3:0]),
    mul(i_m_7[99:96]  ,i_p1[3:0]),
    mul(i_m_7[95:92]  ,i_p1[3:0]),
    mul(i_m_7[91:88]  ,i_p1[3:0]),
    mul(i_m_7[87:84]  ,i_p1[3:0]),
    mul(i_m_7[83:80]  ,i_p1[3:0]),
    mul(i_m_7[79:76]  ,i_p1[3:0]),
    mul(i_m_7[75:72]  ,i_p1[3:0]),
    mul(i_m_7[71:68]  ,i_p1[3:0]),
    mul(i_m_7[67:64]  ,i_p1[3:0]),
    mul(i_m_7[63:60]  ,i_p1[3:0]),
    mul(i_m_7[59:56]  ,i_p1[3:0]),
    mul(i_m_7[55:52]  ,i_p1[3:0]),
    mul(i_m_7[51:48]  ,i_p1[3:0]),
    mul(i_m_7[47:44]  ,i_p1[3:0]),
    mul(i_m_7[43:40]  ,i_p1[3:0]),
    mul(i_m_7[39:36]  ,i_p1[3:0]),
    mul(i_m_7[35:32]  ,i_p1[3:0]),
    mul(i_m_7[31:28]  ,i_p1[3:0]),
    mul(i_m_7[27:24]  ,i_p1[3:0]),
    mul(i_m_7[23:20]  ,i_p1[3:0]),
    mul(i_m_7[19:16]  ,i_p1[3:0]),
    mul(i_m_7[15:12]  ,i_p1[3:0]),
    mul(i_m_7[11:8]   ,i_p1[3:0]),
    mul(i_m_7[7:4]    ,i_p1[3:0]),
    mul(i_m_7[3:0]    ,i_p1[3:0])
};

endmodule
